aboutsummaryrefslogtreecommitdiff
path: root/src/Specific/solinas64_2e401m31
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-11-02 12:45:12 -0400
committerGravatar Jason Gross <jgross@mit.edu>2017-11-02 12:45:12 -0400
commit30ce7aba6875215c0ab8237368bbb1cde0dc0b7d (patch)
treebee423c164e73a7d3da54a52e1f7b8424984764c /src/Specific/solinas64_2e401m31
parent3a5c4795e1a0f7d4b8803022ac9f28e1bc8c031d (diff)
Update display logs and c files
Diffstat (limited to 'src/Specific/solinas64_2e401m31')
-rw-r--r--src/Specific/solinas64_2e401m31/feadd.c27
-rw-r--r--src/Specific/solinas64_2e401m31/feaddDisplay.log7
-rw-r--r--src/Specific/solinas64_2e401m31/fesub.c27
-rw-r--r--src/Specific/solinas64_2e401m31/fesubDisplay.log7
4 files changed, 68 insertions, 0 deletions
diff --git a/src/Specific/solinas64_2e401m31/feadd.c b/src/Specific/solinas64_2e401m31/feadd.c
new file mode 100644
index 000000000..4def6ee9c
--- /dev/null
+++ b/src/Specific/solinas64_2e401m31/feadd.c
@@ -0,0 +1,27 @@
+static void feadd(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
+ { const uint64_t x16 = 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 x30 = in2[7];
+ { const uint64_t x31 = in2[6];
+ { const uint64_t x29 = in2[5];
+ { const uint64_t x27 = in2[4];
+ { const uint64_t x25 = in2[3];
+ { const uint64_t x23 = in2[2];
+ { const uint64_t x21 = in2[1];
+ { const uint64_t x19 = in2[0];
+ out[0] = (x5 + x19);
+ out[1] = (x7 + x21);
+ out[2] = (x9 + x23);
+ out[3] = (x11 + x25);
+ out[4] = (x13 + x27);
+ out[5] = (x15 + x29);
+ out[6] = (x17 + x31);
+ out[7] = (x16 + x30);
+ }}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas64_2e401m31/feaddDisplay.log b/src/Specific/solinas64_2e401m31/feaddDisplay.log
new file mode 100644
index 000000000..023fc8a31
--- /dev/null
+++ b/src/Specific/solinas64_2e401m31/feaddDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
+ ((x16 + x30), (x17 + x31), (x15 + x29), (x13 + x27), (x11 + x25), (x9 + x23), (x7 + x21), (x5 + x19)))
+(x, x0)%core
+ : 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)
diff --git a/src/Specific/solinas64_2e401m31/fesub.c b/src/Specific/solinas64_2e401m31/fesub.c
new file mode 100644
index 000000000..63517697f
--- /dev/null
+++ b/src/Specific/solinas64_2e401m31/fesub.c
@@ -0,0 +1,27 @@
+static void fesub(uint64_t out[8], const uint64_t in1[8], const uint64_t in2[8]) {
+ { const uint64_t x16 = 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 x30 = in2[7];
+ { const uint64_t x31 = in2[6];
+ { const uint64_t x29 = in2[5];
+ { const uint64_t x27 = in2[4];
+ { const uint64_t x25 = in2[3];
+ { const uint64_t x23 = in2[2];
+ { const uint64_t x21 = in2[1];
+ { const uint64_t x19 = in2[0];
+ out[0] = ((Const 4503599627370434 + x5) - x19);
+ out[1] = ((0x7fffffffffffe + x7) - x21);
+ out[2] = ((0x7fffffffffffe + x9) - x23);
+ out[3] = ((0x7fffffffffffe + x11) - x25);
+ out[4] = ((0x7fffffffffffe + x13) - x27);
+ out[5] = ((0x7fffffffffffe + x15) - x29);
+ out[6] = ((0x7fffffffffffe + x17) - x31);
+ out[7] = ((0x7fffffffffffe + x16) - x30);
+ }}}}}}}}}}}}}}}}
+}
diff --git a/src/Specific/solinas64_2e401m31/fesubDisplay.log b/src/Specific/solinas64_2e401m31/fesubDisplay.log
new file mode 100644
index 000000000..f9b5ffa72
--- /dev/null
+++ b/src/Specific/solinas64_2e401m31/fesubDisplay.log
@@ -0,0 +1,7 @@
+λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x16, x17, x15, x13, x11, x9, x7, x5, (x30, x31, x29, x27, x25, x23, x21, x19))%core,
+ (((0x7fffffffffffe + x16) - x30), ((0x7fffffffffffe + x17) - x31), ((0x7fffffffffffe + x15) - x29), ((0x7fffffffffffe + x13) - x27), ((0x7fffffffffffe + x11) - x25), ((0x7fffffffffffe + x9) - x23), ((0x7fffffffffffe + x7) - x21), ((Const 4503599627370434 + x5) - x19)))
+(x, x0)%core
+ : 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)