aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Specific/solinas32_2e321m9/feadd.c51
-rw-r--r--src/Specific/solinas32_2e321m9/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e321m9/fesub.c51
-rw-r--r--src/Specific/solinas32_2e321m9/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e369m25/feadd.c51
-rw-r--r--src/Specific/solinas32_2e369m25/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e369m25/fesub.c51
-rw-r--r--src/Specific/solinas32_2e369m25/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1/feadd.c51
-rw-r--r--src/Specific/solinas32_2e384m2e128m2e96p2e32m1/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e384m5x2e368m1/feadd.c51
-rw-r--r--src/Specific/solinas32_2e384m5x2e368m1/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e384m5x2e368m1/fesub.c51
-rw-r--r--src/Specific/solinas32_2e384m5x2e368m1/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e384m79x2e376m1/feadd.c51
-rw-r--r--src/Specific/solinas32_2e384m79x2e376m1/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e384m79x2e376m1/fesub.c51
-rw-r--r--src/Specific/solinas32_2e384m79x2e376m1/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e401m31/feadd.c51
-rw-r--r--src/Specific/solinas32_2e401m31/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e401m31/fesub.c51
-rw-r--r--src/Specific/solinas32_2e401m31/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e416m2e208m1/feadd.c51
-rw-r--r--src/Specific/solinas32_2e416m2e208m1/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e416m2e208m1/fesub.c51
-rw-r--r--src/Specific/solinas32_2e416m2e208m1/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e448m2e224m1/feadd.c51
-rw-r--r--src/Specific/solinas32_2e448m2e224m1/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e448m2e224m1/fesub.c51
-rw-r--r--src/Specific/solinas32_2e448m2e224m1/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e452m3/feadd.c51
-rw-r--r--src/Specific/solinas32_2e452m3/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e452m3/fesub.c51
-rw-r--r--src/Specific/solinas32_2e452m3/fesubDisplay.log7
-rw-r--r--src/Specific/solinas32_2e480m2e240m1/feadd.c51
-rw-r--r--src/Specific/solinas32_2e480m2e240m1/feaddDisplay.log7
-rw-r--r--src/Specific/solinas32_2e480m2e240m1/fesub.c51
-rw-r--r--src/Specific/solinas32_2e480m2e240m1/fesubDisplay.log7
-rw-r--r--src/Specific/solinas64_2e488m17/feadd.c51
-rw-r--r--src/Specific/solinas64_2e488m17/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e488m17/fesub.c51
-rw-r--r--src/Specific/solinas64_2e488m17/fesubDisplay.log7
42 files changed, 1218 insertions, 0 deletions
diff --git a/src/Specific/solinas32_2e321m9/feadd.c b/src/Specific/solinas32_2e321m9/feadd.c
new file mode 100644
index 000000000..18b150e21
--- /dev/null
+++ b/src/Specific/solinas32_2e321m9/feadd.c
@@ -0,0 +1,51 @@
+static void feadd(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = (x5 + x35);
+ out[1] = (x7 + x37);
+ out[2] = (x9 + x39);
+ out[3] = (x11 + x41);
+ out[4] = (x13 + x43);
+ out[5] = (x15 + x45);
+ out[6] = (x17 + x47);
+ out[7] = (x19 + x49);
+ out[8] = (x21 + x51);
+ out[9] = (x23 + x53);
+ out[10] = (x25 + x55);
+ out[11] = (x27 + x57);
+ out[12] = (x29 + x59);
+ out[13] = (x31 + x61);
+ out[14] = (x33 + x63);
+ out[15] = (x32 + x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e321m9/feaddDisplay.log b/src/Specific/solinas32_2e321m9/feaddDisplay.log
new file mode 100644
index 000000000..130c31964
--- /dev/null
+++ b/src/Specific/solinas32_2e321m9/feaddDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ ((x32 + x62), (x33 + x63), (x31 + x61), (x29 + x59), (x27 + x57), (x25 + x55), (x23 + x53), (x21 + x51), (x19 + x49), (x17 + x47), (x15 + x45), (x13 + x43), (x11 + x41), (x9 + x39), (x7 + x37), (x5 + x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e321m9/fesub.c b/src/Specific/solinas32_2e321m9/fesub.c
new file mode 100644
index 000000000..a9a76e05d
--- /dev/null
+++ b/src/Specific/solinas32_2e321m9/fesub.c
@@ -0,0 +1,51 @@
+static void fesub(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = ((Const 4194286 + x5) - x35);
+ out[1] = ((0x1ffffe + x7) - x37);
+ out[2] = ((0x1ffffe + x9) - x39);
+ out[3] = ((0x1ffffe + x11) - x41);
+ out[4] = ((0x1ffffe + x13) - x43);
+ out[5] = ((0x1ffffe + x15) - x45);
+ out[6] = ((0x1ffffe + x17) - x47);
+ out[7] = ((0x1ffffe + x19) - x49);
+ out[8] = ((0x1ffffe + x21) - x51);
+ out[9] = ((0x1ffffe + x23) - x53);
+ out[10] = ((0x1ffffe + x25) - x55);
+ out[11] = ((0x1ffffe + x27) - x57);
+ out[12] = ((0x1ffffe + x29) - x59);
+ out[13] = ((0x1ffffe + x31) - x61);
+ out[14] = ((0x1ffffe + x33) - x63);
+ out[15] = ((0x1ffffe + x32) - x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e321m9/fesubDisplay.log b/src/Specific/solinas32_2e321m9/fesubDisplay.log
new file mode 100644
index 000000000..9ceead157
--- /dev/null
+++ b/src/Specific/solinas32_2e321m9/fesubDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ (((0x1ffffe + x32) - x62), ((0x1ffffe + x33) - x63), ((0x1ffffe + x31) - x61), ((0x1ffffe + x29) - x59), ((0x1ffffe + x27) - x57), ((0x1ffffe + x25) - x55), ((0x1ffffe + x23) - x53), ((0x1ffffe + x21) - x51), ((0x1ffffe + x19) - x49), ((0x1ffffe + x17) - x47), ((0x1ffffe + x15) - x45), ((0x1ffffe + x13) - x43), ((0x1ffffe + x11) - x41), ((0x1ffffe + x9) - x39), ((0x1ffffe + x7) - x37), ((Const 4194286 + x5) - x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e369m25/feadd.c b/src/Specific/solinas32_2e369m25/feadd.c
new file mode 100644
index 000000000..18b150e21
--- /dev/null
+++ b/src/Specific/solinas32_2e369m25/feadd.c
@@ -0,0 +1,51 @@
+static void feadd(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = (x5 + x35);
+ out[1] = (x7 + x37);
+ out[2] = (x9 + x39);
+ out[3] = (x11 + x41);
+ out[4] = (x13 + x43);
+ out[5] = (x15 + x45);
+ out[6] = (x17 + x47);
+ out[7] = (x19 + x49);
+ out[8] = (x21 + x51);
+ out[9] = (x23 + x53);
+ out[10] = (x25 + x55);
+ out[11] = (x27 + x57);
+ out[12] = (x29 + x59);
+ out[13] = (x31 + x61);
+ out[14] = (x33 + x63);
+ out[15] = (x32 + x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e369m25/feaddDisplay.log b/src/Specific/solinas32_2e369m25/feaddDisplay.log
new file mode 100644
index 000000000..130c31964
--- /dev/null
+++ b/src/Specific/solinas32_2e369m25/feaddDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ ((x32 + x62), (x33 + x63), (x31 + x61), (x29 + x59), (x27 + x57), (x25 + x55), (x23 + x53), (x21 + x51), (x19 + x49), (x17 + x47), (x15 + x45), (x13 + x43), (x11 + x41), (x9 + x39), (x7 + x37), (x5 + x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e369m25/fesub.c b/src/Specific/solinas32_2e369m25/fesub.c
new file mode 100644
index 000000000..b307b05e9
--- /dev/null
+++ b/src/Specific/solinas32_2e369m25/fesub.c
@@ -0,0 +1,51 @@
+static void fesub(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = ((Const 33554382 + x5) - x35);
+ out[1] = ((0xfffffe + x7) - x37);
+ out[2] = ((0xfffffe + x9) - x39);
+ out[3] = ((0xfffffe + x11) - x41);
+ out[4] = ((0xfffffe + x13) - x43);
+ out[5] = ((0xfffffe + x15) - x45);
+ out[6] = ((0xfffffe + x17) - x47);
+ out[7] = ((0xfffffe + x19) - x49);
+ out[8] = ((0xfffffe + x21) - x51);
+ out[9] = ((0xfffffe + x23) - x53);
+ out[10] = ((0xfffffe + x25) - x55);
+ out[11] = ((0xfffffe + x27) - x57);
+ out[12] = ((0xfffffe + x29) - x59);
+ out[13] = ((0xfffffe + x31) - x61);
+ out[14] = ((0xfffffe + x33) - x63);
+ out[15] = ((0xfffffe + x32) - x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e369m25/fesubDisplay.log b/src/Specific/solinas32_2e369m25/fesubDisplay.log
new file mode 100644
index 000000000..b37924332
--- /dev/null
+++ b/src/Specific/solinas32_2e369m25/fesubDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ (((0xfffffe + x32) - x62), ((0xfffffe + x33) - x63), ((0xfffffe + x31) - x61), ((0xfffffe + x29) - x59), ((0xfffffe + x27) - x57), ((0xfffffe + x25) - x55), ((0xfffffe + x23) - x53), ((0xfffffe + x21) - x51), ((0xfffffe + x19) - x49), ((0xfffffe + x17) - x47), ((0xfffffe + x15) - x45), ((0xfffffe + x13) - x43), ((0xfffffe + x11) - x41), ((0xfffffe + x9) - x39), ((0xfffffe + x7) - x37), ((Const 33554382 + x5) - x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1/feadd.c b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1/feadd.c
new file mode 100644
index 000000000..18b150e21
--- /dev/null
+++ b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1/feadd.c
@@ -0,0 +1,51 @@
+static void feadd(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = (x5 + x35);
+ out[1] = (x7 + x37);
+ out[2] = (x9 + x39);
+ out[3] = (x11 + x41);
+ out[4] = (x13 + x43);
+ out[5] = (x15 + x45);
+ out[6] = (x17 + x47);
+ out[7] = (x19 + x49);
+ out[8] = (x21 + x51);
+ out[9] = (x23 + x53);
+ out[10] = (x25 + x55);
+ out[11] = (x27 + x57);
+ out[12] = (x29 + x59);
+ out[13] = (x31 + x61);
+ out[14] = (x33 + x63);
+ out[15] = (x32 + x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e384m2e128m2e96p2e32m1/feaddDisplay.log b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1/feaddDisplay.log
new file mode 100644
index 000000000..130c31964
--- /dev/null
+++ b/src/Specific/solinas32_2e384m2e128m2e96p2e32m1/feaddDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ ((x32 + x62), (x33 + x63), (x31 + x61), (x29 + x59), (x27 + x57), (x25 + x55), (x23 + x53), (x21 + x51), (x19 + x49), (x17 + x47), (x15 + x45), (x13 + x43), (x11 + x41), (x9 + x39), (x7 + x37), (x5 + x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e384m5x2e368m1/feadd.c b/src/Specific/solinas32_2e384m5x2e368m1/feadd.c
new file mode 100644
index 000000000..18b150e21
--- /dev/null
+++ b/src/Specific/solinas32_2e384m5x2e368m1/feadd.c
@@ -0,0 +1,51 @@
+static void feadd(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = (x5 + x35);
+ out[1] = (x7 + x37);
+ out[2] = (x9 + x39);
+ out[3] = (x11 + x41);
+ out[4] = (x13 + x43);
+ out[5] = (x15 + x45);
+ out[6] = (x17 + x47);
+ out[7] = (x19 + x49);
+ out[8] = (x21 + x51);
+ out[9] = (x23 + x53);
+ out[10] = (x25 + x55);
+ out[11] = (x27 + x57);
+ out[12] = (x29 + x59);
+ out[13] = (x31 + x61);
+ out[14] = (x33 + x63);
+ out[15] = (x32 + x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e384m5x2e368m1/feaddDisplay.log b/src/Specific/solinas32_2e384m5x2e368m1/feaddDisplay.log
new file mode 100644
index 000000000..130c31964
--- /dev/null
+++ b/src/Specific/solinas32_2e384m5x2e368m1/feaddDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ ((x32 + x62), (x33 + x63), (x31 + x61), (x29 + x59), (x27 + x57), (x25 + x55), (x23 + x53), (x21 + x51), (x19 + x49), (x17 + x47), (x15 + x45), (x13 + x43), (x11 + x41), (x9 + x39), (x7 + x37), (x5 + x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e384m5x2e368m1/fesub.c b/src/Specific/solinas32_2e384m5x2e368m1/fesub.c
new file mode 100644
index 000000000..747a7d9b8
--- /dev/null
+++ b/src/Specific/solinas32_2e384m5x2e368m1/fesub.c
@@ -0,0 +1,51 @@
+static void fesub(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = ((0x1fffffe + x5) - x35);
+ out[1] = ((0x1fffffe + x7) - x37);
+ out[2] = ((0x1fffffe + x9) - x39);
+ out[3] = ((0x1fffffe + x11) - x41);
+ out[4] = ((0x1fffffe + x13) - x43);
+ out[5] = ((0x1fffffe + x15) - x45);
+ out[6] = ((0x1fffffe + x17) - x47);
+ out[7] = ((0x1fffffe + x19) - x49);
+ out[8] = ((0x1fffffe + x21) - x51);
+ out[9] = ((0x1fffffe + x23) - x53);
+ out[10] = ((0x1fffffe + x25) - x55);
+ out[11] = ((0x1fffffe + x27) - x57);
+ out[12] = ((0x1fffffe + x29) - x59);
+ out[13] = ((0x1fffffe + x31) - x61);
+ out[14] = ((0x1fffffe + x33) - x63);
+ out[15] = ((Const 33551870 + x32) - x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e384m5x2e368m1/fesubDisplay.log b/src/Specific/solinas32_2e384m5x2e368m1/fesubDisplay.log
new file mode 100644
index 000000000..00c1d73b3
--- /dev/null
+++ b/src/Specific/solinas32_2e384m5x2e368m1/fesubDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ (((Const 33551870 + x32) - x62), ((0x1fffffe + x33) - x63), ((0x1fffffe + x31) - x61), ((0x1fffffe + x29) - x59), ((0x1fffffe + x27) - x57), ((0x1fffffe + x25) - x55), ((0x1fffffe + x23) - x53), ((0x1fffffe + x21) - x51), ((0x1fffffe + x19) - x49), ((0x1fffffe + x17) - x47), ((0x1fffffe + x15) - x45), ((0x1fffffe + x13) - x43), ((0x1fffffe + x11) - x41), ((0x1fffffe + x9) - x39), ((0x1fffffe + x7) - x37), ((0x1fffffe + x5) - x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e384m79x2e376m1/feadd.c b/src/Specific/solinas32_2e384m79x2e376m1/feadd.c
new file mode 100644
index 000000000..18b150e21
--- /dev/null
+++ b/src/Specific/solinas32_2e384m79x2e376m1/feadd.c
@@ -0,0 +1,51 @@
+static void feadd(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = (x5 + x35);
+ out[1] = (x7 + x37);
+ out[2] = (x9 + x39);
+ out[3] = (x11 + x41);
+ out[4] = (x13 + x43);
+ out[5] = (x15 + x45);
+ out[6] = (x17 + x47);
+ out[7] = (x19 + x49);
+ out[8] = (x21 + x51);
+ out[9] = (x23 + x53);
+ out[10] = (x25 + x55);
+ out[11] = (x27 + x57);
+ out[12] = (x29 + x59);
+ out[13] = (x31 + x61);
+ out[14] = (x33 + x63);
+ out[15] = (x32 + x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e384m79x2e376m1/feaddDisplay.log b/src/Specific/solinas32_2e384m79x2e376m1/feaddDisplay.log
new file mode 100644
index 000000000..130c31964
--- /dev/null
+++ b/src/Specific/solinas32_2e384m79x2e376m1/feaddDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ ((x32 + x62), (x33 + x63), (x31 + x61), (x29 + x59), (x27 + x57), (x25 + x55), (x23 + x53), (x21 + x51), (x19 + x49), (x17 + x47), (x15 + x45), (x13 + x43), (x11 + x41), (x9 + x39), (x7 + x37), (x5 + x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e384m79x2e376m1/fesub.c b/src/Specific/solinas32_2e384m79x2e376m1/fesub.c
new file mode 100644
index 000000000..6eb5e68f0
--- /dev/null
+++ b/src/Specific/solinas32_2e384m79x2e376m1/fesub.c
@@ -0,0 +1,51 @@
+static void fesub(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = ((0x1fffffe + x5) - x35);
+ out[1] = ((0x1fffffe + x7) - x37);
+ out[2] = ((0x1fffffe + x9) - x39);
+ out[3] = ((0x1fffffe + x11) - x41);
+ out[4] = ((0x1fffffe + x13) - x43);
+ out[5] = ((0x1fffffe + x15) - x45);
+ out[6] = ((0x1fffffe + x17) - x47);
+ out[7] = ((0x1fffffe + x19) - x49);
+ out[8] = ((0x1fffffe + x21) - x51);
+ out[9] = ((0x1fffffe + x23) - x53);
+ out[10] = ((0x1fffffe + x25) - x55);
+ out[11] = ((0x1fffffe + x27) - x57);
+ out[12] = ((0x1fffffe + x29) - x59);
+ out[13] = ((0x1fffffe + x31) - x61);
+ out[14] = ((0x1fffffe + x33) - x63);
+ out[15] = ((Const 23199742 + x32) - x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e384m79x2e376m1/fesubDisplay.log b/src/Specific/solinas32_2e384m79x2e376m1/fesubDisplay.log
new file mode 100644
index 000000000..e977bc991
--- /dev/null
+++ b/src/Specific/solinas32_2e384m79x2e376m1/fesubDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ (((Const 23199742 + x32) - x62), ((0x1fffffe + x33) - x63), ((0x1fffffe + x31) - x61), ((0x1fffffe + x29) - x59), ((0x1fffffe + x27) - x57), ((0x1fffffe + x25) - x55), ((0x1fffffe + x23) - x53), ((0x1fffffe + x21) - x51), ((0x1fffffe + x19) - x49), ((0x1fffffe + x17) - x47), ((0x1fffffe + x15) - x45), ((0x1fffffe + x13) - x43), ((0x1fffffe + x11) - x41), ((0x1fffffe + x9) - x39), ((0x1fffffe + x7) - x37), ((0x1fffffe + x5) - x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e401m31/feadd.c b/src/Specific/solinas32_2e401m31/feadd.c
new file mode 100644
index 000000000..18b150e21
--- /dev/null
+++ b/src/Specific/solinas32_2e401m31/feadd.c
@@ -0,0 +1,51 @@
+static void feadd(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = (x5 + x35);
+ out[1] = (x7 + x37);
+ out[2] = (x9 + x39);
+ out[3] = (x11 + x41);
+ out[4] = (x13 + x43);
+ out[5] = (x15 + x45);
+ out[6] = (x17 + x47);
+ out[7] = (x19 + x49);
+ out[8] = (x21 + x51);
+ out[9] = (x23 + x53);
+ out[10] = (x25 + x55);
+ out[11] = (x27 + x57);
+ out[12] = (x29 + x59);
+ out[13] = (x31 + x61);
+ out[14] = (x33 + x63);
+ out[15] = (x32 + x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e401m31/feaddDisplay.log b/src/Specific/solinas32_2e401m31/feaddDisplay.log
new file mode 100644
index 000000000..130c31964
--- /dev/null
+++ b/src/Specific/solinas32_2e401m31/feaddDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ ((x32 + x62), (x33 + x63), (x31 + x61), (x29 + x59), (x27 + x57), (x25 + x55), (x23 + x53), (x21 + x51), (x19 + x49), (x17 + x47), (x15 + x45), (x13 + x43), (x11 + x41), (x9 + x39), (x7 + x37), (x5 + x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e401m31/fesub.c b/src/Specific/solinas32_2e401m31/fesub.c
new file mode 100644
index 000000000..28f7376bc
--- /dev/null
+++ b/src/Specific/solinas32_2e401m31/fesub.c
@@ -0,0 +1,51 @@
+static void fesub(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = ((Const 134217666 + x5) - x35);
+ out[1] = ((0x3fffffe + x7) - x37);
+ out[2] = ((0x3fffffe + x9) - x39);
+ out[3] = ((0x3fffffe + x11) - x41);
+ out[4] = ((0x3fffffe + x13) - x43);
+ out[5] = ((0x3fffffe + x15) - x45);
+ out[6] = ((0x3fffffe + x17) - x47);
+ out[7] = ((0x3fffffe + x19) - x49);
+ out[8] = ((0x3fffffe + x21) - x51);
+ out[9] = ((0x3fffffe + x23) - x53);
+ out[10] = ((0x3fffffe + x25) - x55);
+ out[11] = ((0x3fffffe + x27) - x57);
+ out[12] = ((0x3fffffe + x29) - x59);
+ out[13] = ((0x3fffffe + x31) - x61);
+ out[14] = ((0x3fffffe + x33) - x63);
+ out[15] = ((0x3fffffe + x32) - x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e401m31/fesubDisplay.log b/src/Specific/solinas32_2e401m31/fesubDisplay.log
new file mode 100644
index 000000000..70240c88f
--- /dev/null
+++ b/src/Specific/solinas32_2e401m31/fesubDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ (((0x3fffffe + x32) - x62), ((0x3fffffe + x33) - x63), ((0x3fffffe + x31) - x61), ((0x3fffffe + x29) - x59), ((0x3fffffe + x27) - x57), ((0x3fffffe + x25) - x55), ((0x3fffffe + x23) - x53), ((0x3fffffe + x21) - x51), ((0x3fffffe + x19) - x49), ((0x3fffffe + x17) - x47), ((0x3fffffe + x15) - x45), ((0x3fffffe + x13) - x43), ((0x3fffffe + x11) - x41), ((0x3fffffe + x9) - x39), ((0x3fffffe + x7) - x37), ((Const 134217666 + x5) - x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e416m2e208m1/feadd.c b/src/Specific/solinas32_2e416m2e208m1/feadd.c
new file mode 100644
index 000000000..18b150e21
--- /dev/null
+++ b/src/Specific/solinas32_2e416m2e208m1/feadd.c
@@ -0,0 +1,51 @@
+static void feadd(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = (x5 + x35);
+ out[1] = (x7 + x37);
+ out[2] = (x9 + x39);
+ out[3] = (x11 + x41);
+ out[4] = (x13 + x43);
+ out[5] = (x15 + x45);
+ out[6] = (x17 + x47);
+ out[7] = (x19 + x49);
+ out[8] = (x21 + x51);
+ out[9] = (x23 + x53);
+ out[10] = (x25 + x55);
+ out[11] = (x27 + x57);
+ out[12] = (x29 + x59);
+ out[13] = (x31 + x61);
+ out[14] = (x33 + x63);
+ out[15] = (x32 + x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e416m2e208m1/feaddDisplay.log b/src/Specific/solinas32_2e416m2e208m1/feaddDisplay.log
new file mode 100644
index 000000000..130c31964
--- /dev/null
+++ b/src/Specific/solinas32_2e416m2e208m1/feaddDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ ((x32 + x62), (x33 + x63), (x31 + x61), (x29 + x59), (x27 + x57), (x25 + x55), (x23 + x53), (x21 + x51), (x19 + x49), (x17 + x47), (x15 + x45), (x13 + x43), (x11 + x41), (x9 + x39), (x7 + x37), (x5 + x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e416m2e208m1/fesub.c b/src/Specific/solinas32_2e416m2e208m1/fesub.c
new file mode 100644
index 000000000..db233695a
--- /dev/null
+++ b/src/Specific/solinas32_2e416m2e208m1/fesub.c
@@ -0,0 +1,51 @@
+static void fesub(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = ((0x7fffffe + x5) - x35);
+ out[1] = ((0x7fffffe + x7) - x37);
+ out[2] = ((0x7fffffe + x9) - x39);
+ out[3] = ((0x7fffffe + x11) - x41);
+ out[4] = ((0x7fffffe + x13) - x43);
+ out[5] = ((0x7fffffe + x15) - x45);
+ out[6] = ((0x7fffffe + x17) - x47);
+ out[7] = ((0x7fffffe + x19) - x49);
+ out[8] = ((Const 134217724 + x21) - x51);
+ out[9] = ((0x7fffffe + x23) - x53);
+ out[10] = ((0x7fffffe + x25) - x55);
+ out[11] = ((0x7fffffe + x27) - x57);
+ out[12] = ((0x7fffffe + x29) - x59);
+ out[13] = ((0x7fffffe + x31) - x61);
+ out[14] = ((0x7fffffe + x33) - x63);
+ out[15] = ((0x7fffffe + x32) - x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e416m2e208m1/fesubDisplay.log b/src/Specific/solinas32_2e416m2e208m1/fesubDisplay.log
new file mode 100644
index 000000000..f940d6d0b
--- /dev/null
+++ b/src/Specific/solinas32_2e416m2e208m1/fesubDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ (((0x7fffffe + x32) - x62), ((0x7fffffe + x33) - x63), ((0x7fffffe + x31) - x61), ((0x7fffffe + x29) - x59), ((0x7fffffe + x27) - x57), ((0x7fffffe + x25) - x55), ((0x7fffffe + x23) - x53), ((Const 134217724 + x21) - x51), ((0x7fffffe + x19) - x49), ((0x7fffffe + x17) - x47), ((0x7fffffe + x15) - x45), ((0x7fffffe + x13) - x43), ((0x7fffffe + x11) - x41), ((0x7fffffe + x9) - x39), ((0x7fffffe + x7) - x37), ((0x7fffffe + x5) - x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e448m2e224m1/feadd.c b/src/Specific/solinas32_2e448m2e224m1/feadd.c
new file mode 100644
index 000000000..18b150e21
--- /dev/null
+++ b/src/Specific/solinas32_2e448m2e224m1/feadd.c
@@ -0,0 +1,51 @@
+static void feadd(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = (x5 + x35);
+ out[1] = (x7 + x37);
+ out[2] = (x9 + x39);
+ out[3] = (x11 + x41);
+ out[4] = (x13 + x43);
+ out[5] = (x15 + x45);
+ out[6] = (x17 + x47);
+ out[7] = (x19 + x49);
+ out[8] = (x21 + x51);
+ out[9] = (x23 + x53);
+ out[10] = (x25 + x55);
+ out[11] = (x27 + x57);
+ out[12] = (x29 + x59);
+ out[13] = (x31 + x61);
+ out[14] = (x33 + x63);
+ out[15] = (x32 + x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e448m2e224m1/feaddDisplay.log b/src/Specific/solinas32_2e448m2e224m1/feaddDisplay.log
new file mode 100644
index 000000000..130c31964
--- /dev/null
+++ b/src/Specific/solinas32_2e448m2e224m1/feaddDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ ((x32 + x62), (x33 + x63), (x31 + x61), (x29 + x59), (x27 + x57), (x25 + x55), (x23 + x53), (x21 + x51), (x19 + x49), (x17 + x47), (x15 + x45), (x13 + x43), (x11 + x41), (x9 + x39), (x7 + x37), (x5 + x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e448m2e224m1/fesub.c b/src/Specific/solinas32_2e448m2e224m1/fesub.c
new file mode 100644
index 000000000..0385245b5
--- /dev/null
+++ b/src/Specific/solinas32_2e448m2e224m1/fesub.c
@@ -0,0 +1,51 @@
+static void fesub(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = ((0x1ffffffe + x5) - x35);
+ out[1] = ((0x1ffffffe + x7) - x37);
+ out[2] = ((0x1ffffffe + x9) - x39);
+ out[3] = ((0x1ffffffe + x11) - x41);
+ out[4] = ((0x1ffffffe + x13) - x43);
+ out[5] = ((0x1ffffffe + x15) - x45);
+ out[6] = ((0x1ffffffe + x17) - x47);
+ out[7] = ((0x1ffffffe + x19) - x49);
+ out[8] = ((Const 536870908 + x21) - x51);
+ out[9] = ((0x1ffffffe + x23) - x53);
+ out[10] = ((0x1ffffffe + x25) - x55);
+ out[11] = ((0x1ffffffe + x27) - x57);
+ out[12] = ((0x1ffffffe + x29) - x59);
+ out[13] = ((0x1ffffffe + x31) - x61);
+ out[14] = ((0x1ffffffe + x33) - x63);
+ out[15] = ((0x1ffffffe + x32) - x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e448m2e224m1/fesubDisplay.log b/src/Specific/solinas32_2e448m2e224m1/fesubDisplay.log
new file mode 100644
index 000000000..906f9306f
--- /dev/null
+++ b/src/Specific/solinas32_2e448m2e224m1/fesubDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ (((0x1ffffffe + x32) - x62), ((0x1ffffffe + x33) - x63), ((0x1ffffffe + x31) - x61), ((0x1ffffffe + x29) - x59), ((0x1ffffffe + x27) - x57), ((0x1ffffffe + x25) - x55), ((0x1ffffffe + x23) - x53), ((Const 536870908 + x21) - x51), ((0x1ffffffe + x19) - x49), ((0x1ffffffe + x17) - x47), ((0x1ffffffe + x15) - x45), ((0x1ffffffe + x13) - x43), ((0x1ffffffe + x11) - x41), ((0x1ffffffe + x9) - x39), ((0x1ffffffe + x7) - x37), ((0x1ffffffe + x5) - x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e452m3/feadd.c b/src/Specific/solinas32_2e452m3/feadd.c
new file mode 100644
index 000000000..18b150e21
--- /dev/null
+++ b/src/Specific/solinas32_2e452m3/feadd.c
@@ -0,0 +1,51 @@
+static void feadd(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = (x5 + x35);
+ out[1] = (x7 + x37);
+ out[2] = (x9 + x39);
+ out[3] = (x11 + x41);
+ out[4] = (x13 + x43);
+ out[5] = (x15 + x45);
+ out[6] = (x17 + x47);
+ out[7] = (x19 + x49);
+ out[8] = (x21 + x51);
+ out[9] = (x23 + x53);
+ out[10] = (x25 + x55);
+ out[11] = (x27 + x57);
+ out[12] = (x29 + x59);
+ out[13] = (x31 + x61);
+ out[14] = (x33 + x63);
+ out[15] = (x32 + x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e452m3/feaddDisplay.log b/src/Specific/solinas32_2e452m3/feaddDisplay.log
new file mode 100644
index 000000000..130c31964
--- /dev/null
+++ b/src/Specific/solinas32_2e452m3/feaddDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ ((x32 + x62), (x33 + x63), (x31 + x61), (x29 + x59), (x27 + x57), (x25 + x55), (x23 + x53), (x21 + x51), (x19 + x49), (x17 + x47), (x15 + x45), (x13 + x43), (x11 + x41), (x9 + x39), (x7 + x37), (x5 + x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e452m3/fesub.c b/src/Specific/solinas32_2e452m3/fesub.c
new file mode 100644
index 000000000..0f52d6a92
--- /dev/null
+++ b/src/Specific/solinas32_2e452m3/fesub.c
@@ -0,0 +1,51 @@
+static void fesub(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = ((0x3ffffffa + x5) - x35);
+ out[1] = ((0x1ffffffe + x7) - x37);
+ out[2] = ((0x1ffffffe + x9) - x39);
+ out[3] = ((0x1ffffffe + x11) - x41);
+ out[4] = ((0x3ffffffe + x13) - x43);
+ out[5] = ((0x1ffffffe + x15) - x45);
+ out[6] = ((0x1ffffffe + x17) - x47);
+ out[7] = ((0x1ffffffe + x19) - x49);
+ out[8] = ((0x3ffffffe + x21) - x51);
+ out[9] = ((0x1ffffffe + x23) - x53);
+ out[10] = ((0x1ffffffe + x25) - x55);
+ out[11] = ((0x1ffffffe + x27) - x57);
+ out[12] = ((0x3ffffffe + x29) - x59);
+ out[13] = ((0x1ffffffe + x31) - x61);
+ out[14] = ((0x1ffffffe + x33) - x63);
+ out[15] = ((0x1ffffffe + x32) - x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e452m3/fesubDisplay.log b/src/Specific/solinas32_2e452m3/fesubDisplay.log
new file mode 100644
index 000000000..bf6609b6d
--- /dev/null
+++ b/src/Specific/solinas32_2e452m3/fesubDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ (((0x1ffffffe + x32) - x62), ((0x1ffffffe + x33) - x63), ((0x1ffffffe + x31) - x61), ((0x3ffffffe + x29) - x59), ((0x1ffffffe + x27) - x57), ((0x1ffffffe + x25) - x55), ((0x1ffffffe + x23) - x53), ((0x3ffffffe + x21) - x51), ((0x1ffffffe + x19) - x49), ((0x1ffffffe + x17) - x47), ((0x1ffffffe + x15) - x45), ((0x3ffffffe + x13) - x43), ((0x1ffffffe + x11) - x41), ((0x1ffffffe + x9) - x39), ((0x1ffffffe + x7) - x37), ((0x3ffffffa + x5) - x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e480m2e240m1/feadd.c b/src/Specific/solinas32_2e480m2e240m1/feadd.c
new file mode 100644
index 000000000..18b150e21
--- /dev/null
+++ b/src/Specific/solinas32_2e480m2e240m1/feadd.c
@@ -0,0 +1,51 @@
+static void feadd(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = (x5 + x35);
+ out[1] = (x7 + x37);
+ out[2] = (x9 + x39);
+ out[3] = (x11 + x41);
+ out[4] = (x13 + x43);
+ out[5] = (x15 + x45);
+ out[6] = (x17 + x47);
+ out[7] = (x19 + x49);
+ out[8] = (x21 + x51);
+ out[9] = (x23 + x53);
+ out[10] = (x25 + x55);
+ out[11] = (x27 + x57);
+ out[12] = (x29 + x59);
+ out[13] = (x31 + x61);
+ out[14] = (x33 + x63);
+ out[15] = (x32 + x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e480m2e240m1/feaddDisplay.log b/src/Specific/solinas32_2e480m2e240m1/feaddDisplay.log
new file mode 100644
index 000000000..130c31964
--- /dev/null
+++ b/src/Specific/solinas32_2e480m2e240m1/feaddDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ ((x32 + x62), (x33 + x63), (x31 + x61), (x29 + x59), (x27 + x57), (x25 + x55), (x23 + x53), (x21 + x51), (x19 + x49), (x17 + x47), (x15 + x45), (x13 + x43), (x11 + x41), (x9 + x39), (x7 + x37), (x5 + x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e480m2e240m1/fesub.c b/src/Specific/solinas32_2e480m2e240m1/fesub.c
new file mode 100644
index 000000000..50d2ba125
--- /dev/null
+++ b/src/Specific/solinas32_2e480m2e240m1/fesub.c
@@ -0,0 +1,51 @@
+static void fesub(uint32_t out[16], const uint32_t in1[16], const uint32_t in2[16]) {
+ { const uint32_t x32 = in1[15];
+ { const uint32_t x33 = in1[14];
+ { const uint32_t x31 = in1[13];
+ { const uint32_t x29 = in1[12];
+ { const uint32_t x27 = in1[11];
+ { const uint32_t x25 = in1[10];
+ { const uint32_t x23 = in1[9];
+ { const uint32_t x21 = in1[8];
+ { const uint32_t x19 = in1[7];
+ { const uint32_t x17 = in1[6];
+ { const uint32_t x15 = in1[5];
+ { const uint32_t x13 = in1[4];
+ { const uint32_t x11 = in1[3];
+ { const uint32_t x9 = in1[2];
+ { const uint32_t x7 = in1[1];
+ { const uint32_t x5 = in1[0];
+ { const uint32_t x62 = in2[15];
+ { const uint32_t x63 = in2[14];
+ { const uint32_t x61 = in2[13];
+ { const uint32_t x59 = in2[12];
+ { const uint32_t x57 = in2[11];
+ { const uint32_t x55 = in2[10];
+ { const uint32_t x53 = in2[9];
+ { const uint32_t x51 = in2[8];
+ { const uint32_t x49 = in2[7];
+ { const uint32_t x47 = in2[6];
+ { const uint32_t x45 = in2[5];
+ { const uint32_t x43 = in2[4];
+ { const uint32_t x41 = in2[3];
+ { const uint32_t x39 = in2[2];
+ { const uint32_t x37 = in2[1];
+ { const uint32_t x35 = in2[0];
+ out[0] = ((0x7ffffffe + x5) - x35);
+ out[1] = ((0x7ffffffe + x7) - x37);
+ out[2] = ((0x7ffffffe + x9) - x39);
+ out[3] = ((0x7ffffffe + x11) - x41);
+ out[4] = ((0x7ffffffe + x13) - x43);
+ out[5] = ((0x7ffffffe + x15) - x45);
+ out[6] = ((0x7ffffffe + x17) - x47);
+ out[7] = ((0x7ffffffe + x19) - x49);
+ out[8] = ((Const 2147483644 + x21) - x51);
+ out[9] = ((0x7ffffffe + x23) - x53);
+ out[10] = ((0x7ffffffe + x25) - x55);
+ out[11] = ((0x7ffffffe + x27) - x57);
+ out[12] = ((0x7ffffffe + x29) - x59);
+ out[13] = ((0x7ffffffe + x31) - x61);
+ out[14] = ((0x7ffffffe + x33) - x63);
+ out[15] = ((0x7ffffffe + x32) - x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas32_2e480m2e240m1/fesubDisplay.log b/src/Specific/solinas32_2e480m2e240m1/fesubDisplay.log
new file mode 100644
index 000000000..fb087ccf8
--- /dev/null
+++ b/src/Specific/solinas32_2e480m2e240m1/fesubDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ (((0x7ffffffe + x32) - x62), ((0x7ffffffe + x33) - x63), ((0x7ffffffe + x31) - x61), ((0x7ffffffe + x29) - x59), ((0x7ffffffe + x27) - x57), ((0x7ffffffe + x25) - x55), ((0x7ffffffe + x23) - x53), ((Const 2147483644 + x21) - x51), ((0x7ffffffe + x19) - x49), ((0x7ffffffe + x17) - x47), ((0x7ffffffe + x15) - x45), ((0x7ffffffe + x13) - x43), ((0x7ffffffe + x11) - x41), ((0x7ffffffe + x9) - x39), ((0x7ffffffe + x7) - x37), ((0x7ffffffe + x5) - x35)))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas64_2e488m17/feadd.c b/src/Specific/solinas64_2e488m17/feadd.c
new file mode 100644
index 000000000..89267745e
--- /dev/null
+++ b/src/Specific/solinas64_2e488m17/feadd.c
@@ -0,0 +1,51 @@
+static void feadd(uint64_t out[16], const uint64_t in1[16], const uint64_t in2[16]) {
+ { const uint64_t x32 = in1[15];
+ { const uint64_t x33 = in1[14];
+ { const uint64_t x31 = in1[13];
+ { const uint64_t x29 = in1[12];
+ { const uint64_t x27 = in1[11];
+ { const uint64_t x25 = in1[10];
+ { const uint64_t x23 = in1[9];
+ { const uint64_t x21 = in1[8];
+ { const uint64_t x19 = in1[7];
+ { const uint64_t x17 = in1[6];
+ { const uint64_t x15 = in1[5];
+ { const uint64_t x13 = in1[4];
+ { const uint64_t x11 = in1[3];
+ { const uint64_t x9 = in1[2];
+ { const uint64_t x7 = in1[1];
+ { const uint64_t x5 = in1[0];
+ { const uint64_t x62 = in2[15];
+ { const uint64_t x63 = in2[14];
+ { const uint64_t x61 = in2[13];
+ { const uint64_t x59 = in2[12];
+ { const uint64_t x57 = in2[11];
+ { const uint64_t x55 = in2[10];
+ { const uint64_t x53 = in2[9];
+ { const uint64_t x51 = in2[8];
+ { const uint64_t x49 = in2[7];
+ { const uint64_t x47 = in2[6];
+ { const uint64_t x45 = in2[5];
+ { const uint64_t x43 = in2[4];
+ { const uint64_t x41 = in2[3];
+ { const uint64_t x39 = in2[2];
+ { const uint64_t x37 = in2[1];
+ { const uint64_t x35 = in2[0];
+ out[0] = (x5 + x35);
+ out[1] = (x7 + x37);
+ out[2] = (x9 + x39);
+ out[3] = (x11 + x41);
+ out[4] = (x13 + x43);
+ out[5] = (x15 + x45);
+ out[6] = (x17 + x47);
+ out[7] = (x19 + x49);
+ out[8] = (x21 + x51);
+ out[9] = (x23 + x53);
+ out[10] = (x25 + x55);
+ out[11] = (x27 + x57);
+ out[12] = (x29 + x59);
+ out[13] = (x31 + x61);
+ out[14] = (x33 + x63);
+ out[15] = (x32 + x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas64_2e488m17/feaddDisplay.log b/src/Specific/solinas64_2e488m17/feaddDisplay.log
new file mode 100644
index 000000000..65c57ff77
--- /dev/null
+++ b/src/Specific/solinas64_2e488m17/feaddDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ ((x32 + x62), (x33 + x63), (x31 + x61), (x29 + x59), (x27 + x57), (x25 + x55), (x23 + x53), (x21 + x51), (x19 + x49), (x17 + x47), (x15 + x45), (x13 + x43), (x11 + x41), (x9 + x39), (x7 + x37), (x5 + x35)))
+(x, x0)%core
+ : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)
diff --git a/src/Specific/solinas64_2e488m17/fesub.c b/src/Specific/solinas64_2e488m17/fesub.c
new file mode 100644
index 000000000..b32e02aff
--- /dev/null
+++ b/src/Specific/solinas64_2e488m17/fesub.c
@@ -0,0 +1,51 @@
+static void fesub(uint64_t out[16], const uint64_t in1[16], const uint64_t in2[16]) {
+ { const uint64_t x32 = in1[15];
+ { const uint64_t x33 = in1[14];
+ { const uint64_t x31 = in1[13];
+ { const uint64_t x29 = in1[12];
+ { const uint64_t x27 = in1[11];
+ { const uint64_t x25 = in1[10];
+ { const uint64_t x23 = in1[9];
+ { const uint64_t x21 = in1[8];
+ { const uint64_t x19 = in1[7];
+ { const uint64_t x17 = in1[6];
+ { const uint64_t x15 = in1[5];
+ { const uint64_t x13 = in1[4];
+ { const uint64_t x11 = in1[3];
+ { const uint64_t x9 = in1[2];
+ { const uint64_t x7 = in1[1];
+ { const uint64_t x5 = in1[0];
+ { const uint64_t x62 = in2[15];
+ { const uint64_t x63 = in2[14];
+ { const uint64_t x61 = in2[13];
+ { const uint64_t x59 = in2[12];
+ { const uint64_t x57 = in2[11];
+ { const uint64_t x55 = in2[10];
+ { const uint64_t x53 = in2[9];
+ { const uint64_t x51 = in2[8];
+ { const uint64_t x49 = in2[7];
+ { const uint64_t x47 = in2[6];
+ { const uint64_t x45 = in2[5];
+ { const uint64_t x43 = in2[4];
+ { const uint64_t x41 = in2[3];
+ { const uint64_t x39 = in2[2];
+ { const uint64_t x37 = in2[1];
+ { const uint64_t x35 = in2[0];
+ out[0] = ((Const 4294967262 + x5) - x35);
+ out[1] = ((0x7ffffffe + x7) - x37);
+ out[2] = ((0xfffffffe + x9) - x39);
+ out[3] = ((0x7ffffffe + x11) - x41);
+ out[4] = ((0xfffffffe + x13) - x43);
+ out[5] = ((0x7ffffffe + x15) - x45);
+ out[6] = ((0xfffffffe + x17) - x47);
+ out[7] = ((0x7ffffffe + x19) - x49);
+ out[8] = ((0xfffffffe + x21) - x51);
+ out[9] = ((0x7ffffffe + x23) - x53);
+ out[10] = ((0xfffffffe + x25) - x55);
+ out[11] = ((0x7ffffffe + x27) - x57);
+ out[12] = ((0xfffffffe + x29) - x59);
+ out[13] = ((0x7ffffffe + x31) - x61);
+ out[14] = ((0xfffffffe + x33) - x63);
+ out[15] = ((0x7ffffffe + x32) - x62);
+ }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas64_2e488m17/fesubDisplay.log b/src/Specific/solinas64_2e488m17/fesubDisplay.log
new file mode 100644
index 000000000..c3515ecdb
--- /dev/null
+++ b/src/Specific/solinas64_2e488m17/fesubDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x32, x33, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x62, x63, x61, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35))%core,
+ (((0x7ffffffe + x32) - x62), ((0xfffffffe + x33) - x63), ((0x7ffffffe + x31) - x61), ((0xfffffffe + x29) - x59), ((0x7ffffffe + x27) - x57), ((0xfffffffe + x25) - x55), ((0x7ffffffe + x23) - x53), ((0xfffffffe + x21) - x51), ((0x7ffffffe + x19) - x49), ((0xfffffffe + x17) - x47), ((0x7ffffffe + x15) - x45), ((0xfffffffe + x13) - x43), ((0x7ffffffe + x11) - x41), ((0xfffffffe + x9) - x39), ((0x7ffffffe + x7) - x37), ((Const 4294967262 + x5) - x35)))
+(x, x0)%core
+ : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t * uint64_t)