name Edwards curves
parameter c
parameter d
coordinate x
coordinate y
satisfying x^2+y^2 == c^2*(1+d*x^2*y^2)
ysquared (x^2-c^2)/(c^2*d*x^2-1)
addition x = (x1*y2+y1*x2)/(c*(1+d*x1*x2*y1*y2))
addition y = (y1*y2-x1*x2)/(c*(1-d*x1*x2*y1*y2))
doubling x = (x1*y1+y1*x1)/(c*(1+d*x1*x1*y1*y1))
doubling y = (y1*y1-x1*x1)/(c*(1-d*x1*x1*y1*y1))
negation x = -x1
negation y = y1
neutral x = 0
neutral y = c
toweierstrass u = (c+y)/(c-y)
toweierstrass v = 2*c*(c+y)/(x(c-y))
a0 = 1/(1-d*c^4)
a1 = 0
a2 = 4/(1-d*c^4)-2
a3 = 0
a4 = 1
a6 = 0
fromweierstrass x = 2*c*u/v
fromweierstrass y = c(u-1)/(u+1)
