aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-11-15 16:21:06 -0500
committerGravatar Jason Gross <jgross@mit.edu>2017-11-15 16:22:16 -0500
commitf19887d9805626b422bb697494b84434c298c56b (patch)
tree9f3369e9ce5b5d1c2eb97e172e61ac393da9b268 /src
parentba11f2c1999e845180da3ea770e3c8309aa18c60 (diff)
Add a bunch of missing fesquare files
I (or someone else?) forgot to `git add` them when invoking remake_curves.
Diffstat (limited to 'src')
-rw-r--r--src/Specific/montgomery32_2e127m1_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e129m25_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e130m5_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e137m13_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e140m27_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e141m9_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e150m3_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e150m5_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e152m17_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e158m15_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e165m25_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e166m5_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e171m19_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e174m17_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e174m3_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e189m25_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e190m11_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e191m19_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e192m2e64m1_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e194m33_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e196m15_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e198m17_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e206m5_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e212m29_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e213m3_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e216m2e108m1_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e221m3_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e222m117_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e224m2e96p1_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e226m5_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e230m27_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e235m15_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e243m9_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e251m9_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e255m19_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e255m765_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e256m189_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e256m2e32m977_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e256m4294968273_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e266m3_9limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e285m9_9limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e291m19_10limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e321m9_11limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1_11limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e336m17_11limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e336m3_11limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e338m15_11limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e369m25_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e379m19_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e382m105_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e383m187_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e383m31_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e383m421_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e384m317_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e389m21_13limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e401m31_13limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e413m21_13limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e414m17_13limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1_13limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e444m17_14limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1_14limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1_15limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e452m3_15limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e468m17_15limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1_15limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e488m17_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e489m21_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e495m31_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e511m187_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e511m481_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e512m569_16limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery32_2e521m1_17limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e127m1_2limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e129m25_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e130m5_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e137m13_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e140m27_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e141m9_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e150m3_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e150m5_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e152m17_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e158m15_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e165m25_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e166m5_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e171m19_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e174m17_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e174m3_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e189m25_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e190m11_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e191m19_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e192m2e64m1_3limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e194m33_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e196m15_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e198m17_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e206m5_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e212m29_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e213m3_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e216m2e108m1_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e221m3_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e222m117_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e224m2e96p1_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e226m5_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e230m27_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e235m15_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e243m9_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e251m9_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e255m19_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e255m765_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e256m189_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e256m2e32m977_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e256m4294968273_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e266m3_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e285m9_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e291m19_5limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e321m9_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e322m2e161m1_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e336m17_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e336m3_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e338m15_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e369m25_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e379m19_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e382m105_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e383m187_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e383m31_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e383m421_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e384m317_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e389m21_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e401m31_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e413m21_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e414m17_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e416m2e208m1_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e444m17_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e448m2e224m1_7limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e450m2e225m1_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e452m3_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e468m17_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e480m2e240m1_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e488m17_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e489m21_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e495m31_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e511m187_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e511m481_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e512m569_8limbs/fesquare.c5
-rw-r--r--src/Specific/montgomery64_2e521m1_9limbs/fesquare.c5
162 files changed, 810 insertions, 0 deletions
diff --git a/src/Specific/montgomery32_2e127m1_4limbs/fesquare.c b/src/Specific/montgomery32_2e127m1_4limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e127m1_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e129m25_5limbs/fesquare.c b/src/Specific/montgomery32_2e129m25_5limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e129m25_5limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e130m5_5limbs/fesquare.c b/src/Specific/montgomery32_2e130m5_5limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e130m5_5limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e137m13_5limbs/fesquare.c b/src/Specific/montgomery32_2e137m13_5limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e137m13_5limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e140m27_5limbs/fesquare.c b/src/Specific/montgomery32_2e140m27_5limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e140m27_5limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e141m9_5limbs/fesquare.c b/src/Specific/montgomery32_2e141m9_5limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e141m9_5limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e150m3_5limbs/fesquare.c b/src/Specific/montgomery32_2e150m3_5limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e150m3_5limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e150m5_5limbs/fesquare.c b/src/Specific/montgomery32_2e150m5_5limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e150m5_5limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e152m17_5limbs/fesquare.c b/src/Specific/montgomery32_2e152m17_5limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e152m17_5limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e158m15_5limbs/fesquare.c b/src/Specific/montgomery32_2e158m15_5limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e158m15_5limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e165m25_6limbs/fesquare.c b/src/Specific/montgomery32_2e165m25_6limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e165m25_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e166m5_6limbs/fesquare.c b/src/Specific/montgomery32_2e166m5_6limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e166m5_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e171m19_6limbs/fesquare.c b/src/Specific/montgomery32_2e171m19_6limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e171m19_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e174m17_6limbs/fesquare.c b/src/Specific/montgomery32_2e174m17_6limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e174m17_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e174m3_6limbs/fesquare.c b/src/Specific/montgomery32_2e174m3_6limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e174m3_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e189m25_6limbs/fesquare.c b/src/Specific/montgomery32_2e189m25_6limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e189m25_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e190m11_6limbs/fesquare.c b/src/Specific/montgomery32_2e190m11_6limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e190m11_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e191m19_6limbs/fesquare.c b/src/Specific/montgomery32_2e191m19_6limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e191m19_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesquare.c b/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e192m2e64m1_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e194m33_7limbs/fesquare.c b/src/Specific/montgomery32_2e194m33_7limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e194m33_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e196m15_7limbs/fesquare.c b/src/Specific/montgomery32_2e196m15_7limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e196m15_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e198m17_7limbs/fesquare.c b/src/Specific/montgomery32_2e198m17_7limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e198m17_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesquare.c b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e205m45x2e198m1_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e206m5_7limbs/fesquare.c b/src/Specific/montgomery32_2e206m5_7limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e206m5_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e212m29_7limbs/fesquare.c b/src/Specific/montgomery32_2e212m29_7limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e212m29_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e213m3_7limbs/fesquare.c b/src/Specific/montgomery32_2e213m3_7limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e213m3_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e216m2e108m1_7limbs/fesquare.c b/src/Specific/montgomery32_2e216m2e108m1_7limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e216m2e108m1_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e221m3_7limbs/fesquare.c b/src/Specific/montgomery32_2e221m3_7limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e221m3_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e222m117_7limbs/fesquare.c b/src/Specific/montgomery32_2e222m117_7limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e222m117_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e224m2e96p1_7limbs/fesquare.c b/src/Specific/montgomery32_2e224m2e96p1_7limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e224m2e96p1_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e226m5_8limbs/fesquare.c b/src/Specific/montgomery32_2e226m5_8limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e226m5_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e230m27_8limbs/fesquare.c b/src/Specific/montgomery32_2e230m27_8limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e230m27_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e235m15_8limbs/fesquare.c b/src/Specific/montgomery32_2e235m15_8limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e235m15_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e243m9_8limbs/fesquare.c b/src/Specific/montgomery32_2e243m9_8limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e243m9_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e251m9_8limbs/fesquare.c b/src/Specific/montgomery32_2e251m9_8limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e251m9_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesquare.c b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e254m127x2e240m1_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e255m19_8limbs/fesquare.c b/src/Specific/montgomery32_2e255m19_8limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e255m19_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e255m765_8limbs/fesquare.c b/src/Specific/montgomery32_2e255m765_8limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e255m765_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e256m189_8limbs/fesquare.c b/src/Specific/montgomery32_2e256m189_8limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e256m189_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesquare.c b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e256m2e224p2e192p2e96m1_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e256m2e32m977_8limbs/fesquare.c b/src/Specific/montgomery32_2e256m2e32m977_8limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e256m2e32m977_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e256m4294968273_8limbs/fesquare.c b/src/Specific/montgomery32_2e256m4294968273_8limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e256m4294968273_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesquare.c b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e256m88x2e240m1_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e266m3_9limbs/fesquare.c b/src/Specific/montgomery32_2e266m3_9limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e266m3_9limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e285m9_9limbs/fesquare.c b/src/Specific/montgomery32_2e285m9_9limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e285m9_9limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e291m19_10limbs/fesquare.c b/src/Specific/montgomery32_2e291m19_10limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e291m19_10limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e321m9_11limbs/fesquare.c b/src/Specific/montgomery32_2e321m9_11limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e321m9_11limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e322m2e161m1_11limbs/fesquare.c b/src/Specific/montgomery32_2e322m2e161m1_11limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e322m2e161m1_11limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e336m17_11limbs/fesquare.c b/src/Specific/montgomery32_2e336m17_11limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e336m17_11limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e336m3_11limbs/fesquare.c b/src/Specific/montgomery32_2e336m3_11limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e336m3_11limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e338m15_11limbs/fesquare.c b/src/Specific/montgomery32_2e338m15_11limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e338m15_11limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e369m25_12limbs/fesquare.c b/src/Specific/montgomery32_2e369m25_12limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e369m25_12limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e379m19_12limbs/fesquare.c b/src/Specific/montgomery32_2e379m19_12limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e379m19_12limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e382m105_12limbs/fesquare.c b/src/Specific/montgomery32_2e382m105_12limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e382m105_12limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e383m187_12limbs/fesquare.c b/src/Specific/montgomery32_2e383m187_12limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e383m187_12limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e383m31_12limbs/fesquare.c b/src/Specific/montgomery32_2e383m31_12limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e383m31_12limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e383m421_12limbs/fesquare.c b/src/Specific/montgomery32_2e383m421_12limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e383m421_12limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesquare.c b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1_12limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e384m317_12limbs/fesquare.c b/src/Specific/montgomery32_2e384m317_12limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e384m317_12limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesquare.c b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e384m5x2e368m1_12limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesquare.c b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e384m79x2e376m1_12limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e389m21_13limbs/fesquare.c b/src/Specific/montgomery32_2e389m21_13limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e389m21_13limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e401m31_13limbs/fesquare.c b/src/Specific/montgomery32_2e401m31_13limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e401m31_13limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e413m21_13limbs/fesquare.c b/src/Specific/montgomery32_2e413m21_13limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e413m21_13limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e414m17_13limbs/fesquare.c b/src/Specific/montgomery32_2e414m17_13limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e414m17_13limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e416m2e208m1_13limbs/fesquare.c b/src/Specific/montgomery32_2e416m2e208m1_13limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e416m2e208m1_13limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e444m17_14limbs/fesquare.c b/src/Specific/montgomery32_2e444m17_14limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e444m17_14limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e448m2e224m1_14limbs/fesquare.c b/src/Specific/montgomery32_2e448m2e224m1_14limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e448m2e224m1_14limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e450m2e225m1_15limbs/fesquare.c b/src/Specific/montgomery32_2e450m2e225m1_15limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e450m2e225m1_15limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e452m3_15limbs/fesquare.c b/src/Specific/montgomery32_2e452m3_15limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e452m3_15limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e468m17_15limbs/fesquare.c b/src/Specific/montgomery32_2e468m17_15limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e468m17_15limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e480m2e240m1_15limbs/fesquare.c b/src/Specific/montgomery32_2e480m2e240m1_15limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e480m2e240m1_15limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e488m17_16limbs/fesquare.c b/src/Specific/montgomery32_2e488m17_16limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e488m17_16limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e489m21_16limbs/fesquare.c b/src/Specific/montgomery32_2e489m21_16limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e489m21_16limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e495m31_16limbs/fesquare.c b/src/Specific/montgomery32_2e495m31_16limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e495m31_16limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesquare.c b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e510m290x2e496m1_16limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e511m187_16limbs/fesquare.c b/src/Specific/montgomery32_2e511m187_16limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e511m187_16limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e511m481_16limbs/fesquare.c b/src/Specific/montgomery32_2e511m481_16limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e511m481_16limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesquare.c b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e512m491x2e496m1_16limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e512m569_16limbs/fesquare.c b/src/Specific/montgomery32_2e512m569_16limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e512m569_16limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery32_2e521m1_17limbs/fesquare.c b/src/Specific/montgomery32_2e521m1_17limbs/fesquare.c
new file mode 100644
index 000000000..e3345edfe
--- /dev/null
+++ b/src/Specific/montgomery32_2e521m1_17limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery32/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint32_t *out, const uint32_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e127m1_2limbs/fesquare.c b/src/Specific/montgomery64_2e127m1_2limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e127m1_2limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e129m25_3limbs/fesquare.c b/src/Specific/montgomery64_2e129m25_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e129m25_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e130m5_3limbs/fesquare.c b/src/Specific/montgomery64_2e130m5_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e130m5_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e137m13_3limbs/fesquare.c b/src/Specific/montgomery64_2e137m13_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e137m13_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e140m27_3limbs/fesquare.c b/src/Specific/montgomery64_2e140m27_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e140m27_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e141m9_3limbs/fesquare.c b/src/Specific/montgomery64_2e141m9_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e141m9_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e150m3_3limbs/fesquare.c b/src/Specific/montgomery64_2e150m3_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e150m3_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e150m5_3limbs/fesquare.c b/src/Specific/montgomery64_2e150m5_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e150m5_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e152m17_3limbs/fesquare.c b/src/Specific/montgomery64_2e152m17_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e152m17_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e158m15_3limbs/fesquare.c b/src/Specific/montgomery64_2e158m15_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e158m15_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e165m25_3limbs/fesquare.c b/src/Specific/montgomery64_2e165m25_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e165m25_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e166m5_3limbs/fesquare.c b/src/Specific/montgomery64_2e166m5_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e166m5_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e171m19_3limbs/fesquare.c b/src/Specific/montgomery64_2e171m19_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e171m19_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e174m17_3limbs/fesquare.c b/src/Specific/montgomery64_2e174m17_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e174m17_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e174m3_3limbs/fesquare.c b/src/Specific/montgomery64_2e174m3_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e174m3_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e189m25_3limbs/fesquare.c b/src/Specific/montgomery64_2e189m25_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e189m25_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e190m11_3limbs/fesquare.c b/src/Specific/montgomery64_2e190m11_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e190m11_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e191m19_3limbs/fesquare.c b/src/Specific/montgomery64_2e191m19_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e191m19_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesquare.c b/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e192m2e64m1_3limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e194m33_4limbs/fesquare.c b/src/Specific/montgomery64_2e194m33_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e194m33_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e196m15_4limbs/fesquare.c b/src/Specific/montgomery64_2e196m15_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e196m15_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e198m17_4limbs/fesquare.c b/src/Specific/montgomery64_2e198m17_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e198m17_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesquare.c b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e205m45x2e198m1_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e206m5_4limbs/fesquare.c b/src/Specific/montgomery64_2e206m5_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e206m5_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e212m29_4limbs/fesquare.c b/src/Specific/montgomery64_2e212m29_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e212m29_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e213m3_4limbs/fesquare.c b/src/Specific/montgomery64_2e213m3_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e213m3_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesquare.c b/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e216m2e108m1_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e221m3_4limbs/fesquare.c b/src/Specific/montgomery64_2e221m3_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e221m3_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e222m117_4limbs/fesquare.c b/src/Specific/montgomery64_2e222m117_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e222m117_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesquare.c b/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e224m2e96p1_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e226m5_4limbs/fesquare.c b/src/Specific/montgomery64_2e226m5_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e226m5_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e230m27_4limbs/fesquare.c b/src/Specific/montgomery64_2e230m27_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e230m27_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e235m15_4limbs/fesquare.c b/src/Specific/montgomery64_2e235m15_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e235m15_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e243m9_4limbs/fesquare.c b/src/Specific/montgomery64_2e243m9_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e243m9_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e251m9_4limbs/fesquare.c b/src/Specific/montgomery64_2e251m9_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e251m9_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesquare.c b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e254m127x2e240m1_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e255m19_4limbs/fesquare.c b/src/Specific/montgomery64_2e255m19_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e255m19_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e255m765_4limbs/fesquare.c b/src/Specific/montgomery64_2e255m765_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e255m765_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e256m189_4limbs/fesquare.c b/src/Specific/montgomery64_2e256m189_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e256m189_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesquare.c b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e256m2e224p2e192p2e96m1_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesquare.c b/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e256m2e32m977_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e256m4294968273_4limbs/fesquare.c b/src/Specific/montgomery64_2e256m4294968273_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e256m4294968273_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesquare.c b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e256m88x2e240m1_4limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e266m3_5limbs/fesquare.c b/src/Specific/montgomery64_2e266m3_5limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e266m3_5limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e285m9_5limbs/fesquare.c b/src/Specific/montgomery64_2e285m9_5limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e285m9_5limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e291m19_5limbs/fesquare.c b/src/Specific/montgomery64_2e291m19_5limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e291m19_5limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e321m9_6limbs/fesquare.c b/src/Specific/montgomery64_2e321m9_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e321m9_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesquare.c b/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e322m2e161m1_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e336m17_6limbs/fesquare.c b/src/Specific/montgomery64_2e336m17_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e336m17_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e336m3_6limbs/fesquare.c b/src/Specific/montgomery64_2e336m3_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e336m3_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e338m15_6limbs/fesquare.c b/src/Specific/montgomery64_2e338m15_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e338m15_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e369m25_6limbs/fesquare.c b/src/Specific/montgomery64_2e369m25_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e369m25_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e379m19_6limbs/fesquare.c b/src/Specific/montgomery64_2e379m19_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e379m19_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e382m105_6limbs/fesquare.c b/src/Specific/montgomery64_2e382m105_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e382m105_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e383m187_6limbs/fesquare.c b/src/Specific/montgomery64_2e383m187_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e383m187_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e383m31_6limbs/fesquare.c b/src/Specific/montgomery64_2e383m31_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e383m31_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e383m421_6limbs/fesquare.c b/src/Specific/montgomery64_2e383m421_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e383m421_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesquare.c b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e384m2e128m2e96p2e32m1_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e384m317_6limbs/fesquare.c b/src/Specific/montgomery64_2e384m317_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e384m317_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesquare.c b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e384m5x2e368m1_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesquare.c b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e384m79x2e376m1_6limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e389m21_7limbs/fesquare.c b/src/Specific/montgomery64_2e389m21_7limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e389m21_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e401m31_7limbs/fesquare.c b/src/Specific/montgomery64_2e401m31_7limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e401m31_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e413m21_7limbs/fesquare.c b/src/Specific/montgomery64_2e413m21_7limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e413m21_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e414m17_7limbs/fesquare.c b/src/Specific/montgomery64_2e414m17_7limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e414m17_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e416m2e208m1_7limbs/fesquare.c b/src/Specific/montgomery64_2e416m2e208m1_7limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e416m2e208m1_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e444m17_7limbs/fesquare.c b/src/Specific/montgomery64_2e444m17_7limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e444m17_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e448m2e224m1_7limbs/fesquare.c b/src/Specific/montgomery64_2e448m2e224m1_7limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e448m2e224m1_7limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e450m2e225m1_8limbs/fesquare.c b/src/Specific/montgomery64_2e450m2e225m1_8limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e450m2e225m1_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e452m3_8limbs/fesquare.c b/src/Specific/montgomery64_2e452m3_8limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e452m3_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e468m17_8limbs/fesquare.c b/src/Specific/montgomery64_2e468m17_8limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e468m17_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e480m2e240m1_8limbs/fesquare.c b/src/Specific/montgomery64_2e480m2e240m1_8limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e480m2e240m1_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e488m17_8limbs/fesquare.c b/src/Specific/montgomery64_2e488m17_8limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e488m17_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e489m21_8limbs/fesquare.c b/src/Specific/montgomery64_2e489m21_8limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e489m21_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e495m31_8limbs/fesquare.c b/src/Specific/montgomery64_2e495m31_8limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e495m31_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesquare.c b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e510m290x2e496m1_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e511m187_8limbs/fesquare.c b/src/Specific/montgomery64_2e511m187_8limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e511m187_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e511m481_8limbs/fesquare.c b/src/Specific/montgomery64_2e511m481_8limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e511m481_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesquare.c b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e512m491x2e496m1_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e512m569_8limbs/fesquare.c b/src/Specific/montgomery64_2e512m569_8limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e512m569_8limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}
diff --git a/src/Specific/montgomery64_2e521m1_9limbs/fesquare.c b/src/Specific/montgomery64_2e521m1_9limbs/fesquare.c
new file mode 100644
index 000000000..7bd8db166
--- /dev/null
+++ b/src/Specific/montgomery64_2e521m1_9limbs/fesquare.c
@@ -0,0 +1,5 @@
+/* WARNING: This file was copied from Specific/CurveParameters/montgomery64/fesquare.c.
+ If you edit it here, changes will be erased the next time remake_curves.sh is run. */
+static void fesquare(uint64_t *out, const uint64_t *in) {
+ femul(out, in, in);
+}