fe25519
static void fe25519_pack(unsigned char r[32], const fe25519 *x);
static int fe25519_iszero(const fe25519 *x);
static int fe25519_iseq_vartime(const fe25519 *x, const fe25519 *y);
static void fe25519_cmov(fe25519 *r, const fe25519 *x, unsigned char b);
static void fe25519_setone(fe25519 *r);
static void fe25519_setzero(fe25519 *r);
static void fe25519_neg(fe25519 *r, const fe25519 *x);
unsigned char fe25519_getparity(const fe25519 *x);
static void fe25519_add(fe25519 *r, const fe25519 *x, const fe25519 *y);
static void fe25519_sub(fe25519 *r, const fe25519 *x, const fe25519 *y);
static void fe25519_mul(fe25519 *r, const fe25519 *x, const fe25519 *y);
static void fe25519_square(fe25519 *r, const fe25519 *x);
static void fe25519_invert(fe25519 *r, const fe25519 *x);
static void fe25519_pow2523(fe25519 *r, const fe25519 *x);
static void fe25519_reduce_add_sub(fe25519 *r)
fe25519 a,b,t1,t2,c,d,e,f,g,h,qt;
fe25519 a, b, c, d, t;
fe25519 a,b,c,d;
fe25519 v;
fe25519 t, chk, num, den, den2, den4, den6;
static void reduce_mul(fe25519 *r)
fe25519 tx, ty, zi;
static void fe25519_freeze(fe25519 *r)
static void fe25519_unpack(fe25519 *r, const unsigned char x[32])
static void fe25519_pack(unsigned char r[32], const fe25519 *x)
fe25519 y = *x;
static int fe25519_iszero(const fe25519 *x)
fe25519 t = *x;
static int fe25519_iseq_vartime(const fe25519 *x, const fe25519 *y)
fe25519 t1 = *x;
fe25519 t2 = *y;
static void fe25519_cmov(fe25519 *r, const fe25519 *x, unsigned char b)
unsigned char fe25519_getparity(const fe25519 *x)
fe25519 t = *x;
static void fe25519_setone(fe25519 *r)
static void fe25519_setzero(fe25519 *r)
static void fe25519_neg(fe25519 *r, const fe25519 *x)
fe25519 t;
static void fe25519_add(fe25519 *r, const fe25519 *x, const fe25519 *y)
static void fe25519_sub(fe25519 *r, const fe25519 *x, const fe25519 *y)
static void fe25519_mul(fe25519 *r, const fe25519 *x, const fe25519 *y)
static void fe25519_square(fe25519 *r, const fe25519 *x)
static void fe25519_invert(fe25519 *r, const fe25519 *x)
fe25519 z2;
fe25519 z9;
fe25519 z11;
fe25519 z2_5_0;
fe25519 z2_10_0;
fe25519 z2_20_0;
fe25519 z2_50_0;
fe25519 z2_100_0;
fe25519 t0;
fe25519 t1;
static void fe25519_pow2523(fe25519 *r, const fe25519 *x)
fe25519 z2;
fe25519 z9;
fe25519 z11;
fe25519 z2_5_0;
fe25519 z2_10_0;
fe25519 z2_20_0;
fe25519 z2_50_0;
fe25519 z2_100_0;
fe25519 t;
fe25519 x;
fe25519 y;
fe25519 z;
fe25519 t;
static const fe25519 ge25519_ecd = {{0xA3, 0x78, 0x59, 0x13, 0xCA, 0x4D, 0xEB, 0x75, 0xAB, 0xD8, 0x41, 0x41, 0x4D, 0x0A, 0x70, 0x00,
static const fe25519 ge25519_ec2d = {{0x59, 0xF1, 0xB2, 0x26, 0x94, 0x9B, 0xD6, 0xEB, 0x56, 0xB1, 0x83, 0x82, 0x9A, 0x14, 0xE0, 0x00,
static const fe25519 ge25519_sqrtm1 = {{0xB0, 0xA0, 0x0E, 0x4A, 0x27, 0x1B, 0xEE, 0xC4, 0x78, 0xE4, 0x2F, 0xAD, 0x06, 0x18, 0x43, 0x2F,
fe25519 x;
fe25519 z;
fe25519 y;
fe25519 t;
fe25519 x;
fe25519 y;
fe25519 z;
fe25519 x;
fe25519 y;
static void fe25519_freeze(fe25519 *r);
static void fe25519_unpack(fe25519 *r, const unsigned char x[32]);