diff options
Diffstat (limited to 'src')
82 files changed, 1334 insertions, 42 deletions
diff --git a/src/Specific/solinas32_2e165m25/fesub.c b/src/Specific/solinas32_2e165m25/fesub.c index b18989702..4f89eb94c 100644 --- a/src/Specific/solinas32_2e165m25/fesub.c +++ b/src/Specific/solinas32_2e165m25/fesub.c @@ -17,14 +17,14 @@ static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) { const uint32_t x25 = in2[2]; { const uint32_t x23 = in2[1]; { const uint32_t x21 = in2[0]; - out[0] = ((Const 1048526 + x5) - x21); - out[1] = ((Const 524286 + x7) - x23); - out[2] = ((Const 524286 + x9) - x25); - out[3] = ((Const 1048574 + x11) - x27); - out[4] = ((Const 524286 + x13) - x29); - out[5] = ((Const 524286 + x15) - x31); - out[6] = ((Const 1048574 + x17) - x33); - out[7] = ((Const 524286 + x19) - x35); - out[8] = ((Const 524286 + x18) - x34); + out[0] = ((0xfffce + x5) - x21); + out[1] = ((0x7fffe + x7) - x23); + out[2] = ((0x7fffe + x9) - x25); + out[3] = ((0xffffe + x11) - x27); + out[4] = ((0x7fffe + x13) - x29); + out[5] = ((0x7fffe + x15) - x31); + out[6] = ((0xffffe + x17) - x33); + out[7] = ((0x7fffe + x19) - x35); + out[8] = ((0x7fffe + x18) - x34); }}}}}}}}}}}}}}}}}} } diff --git a/src/Specific/solinas32_2e165m25/fesubDisplay.log b/src/Specific/solinas32_2e165m25/fesubDisplay.log index a36ca4450..d74d0c143 100644 --- a/src/Specific/solinas32_2e165m25/fesubDisplay.log +++ b/src/Specific/solinas32_2e165m25/fesubDisplay.log @@ -2,6 +2,6 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - (((Const 524286 + x18) - x34), ((Const 524286 + x19) - x35), ((Const 1048574 + x17) - x33), ((Const 524286 + x15) - x31), ((Const 524286 + x13) - x29), ((Const 1048574 + x11) - x27), ((Const 524286 + x9) - x25), ((Const 524286 + x7) - x23), ((Const 1048526 + x5) - x21))) + (((0x7fffe + x18) - x34), ((0x7fffe + x19) - x35), ((0xffffe + x17) - x33), ((0x7fffe + x15) - x31), ((0x7fffe + x13) - x29), ((0xffffe + x11) - x27), ((0x7fffe + x9) - x25), ((0x7fffe + x7) - x23), ((0xfffce + x5) - x21))) (x, x0)%core : 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) diff --git a/src/Specific/solinas32_2e166m5/feadd.c b/src/Specific/solinas32_2e166m5/feadd.c new file mode 100644 index 000000000..1763e8727 --- /dev/null +++ b/src/Specific/solinas32_2e166m5/feadd.c @@ -0,0 +1,36 @@ +static void feadd(uint32_t out[11], const uint32_t in1[11], const uint32_t in2[11]) { + { const uint32_t x22 = 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 x42 = in2[10]; + { const uint32_t x43 = in2[9]; + { const uint32_t x41 = in2[8]; + { const uint32_t x39 = in2[7]; + { const uint32_t x37 = in2[6]; + { const uint32_t x35 = in2[5]; + { const uint32_t x33 = in2[4]; + { const uint32_t x31 = in2[3]; + { const uint32_t x29 = in2[2]; + { const uint32_t x27 = in2[1]; + { const uint32_t x25 = in2[0]; + out[0] = (x5 + x25); + out[1] = (x7 + x27); + out[2] = (x9 + x29); + out[3] = (x11 + x31); + out[4] = (x13 + x33); + out[5] = (x15 + x35); + out[6] = (x17 + x37); + out[7] = (x19 + x39); + out[8] = (x21 + x41); + out[9] = (x23 + x43); + out[10] = (x22 + x42); + }}}}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e166m5/feaddDisplay.log b/src/Specific/solinas32_2e166m5/feaddDisplay.log new file mode 100644 index 000000000..433ecbc2e --- /dev/null +++ b/src/Specific/solinas32_2e166m5/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x22, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x42, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25))%core, + ((x22 + x42), (x23 + x43), (x21 + x41), (x19 + x39), (x17 + x37), (x15 + x35), (x13 + x33), (x11 + x31), (x9 + x29), (x7 + x27), (x5 + x25))) +(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 → ReturnType (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_2e166m5/fesub.c b/src/Specific/solinas32_2e166m5/fesub.c new file mode 100644 index 000000000..912d5f5d4 --- /dev/null +++ b/src/Specific/solinas32_2e166m5/fesub.c @@ -0,0 +1,36 @@ +static void fesub(uint32_t out[11], const uint32_t in1[11], const uint32_t in2[11]) { + { const uint32_t x22 = 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 x42 = in2[10]; + { const uint32_t x43 = in2[9]; + { const uint32_t x41 = in2[8]; + { const uint32_t x39 = in2[7]; + { const uint32_t x37 = in2[6]; + { const uint32_t x35 = in2[5]; + { const uint32_t x33 = in2[4]; + { const uint32_t x31 = in2[3]; + { const uint32_t x29 = in2[2]; + { const uint32_t x27 = in2[1]; + { const uint32_t x25 = in2[0]; + out[0] = ((Const 131062 + x5) - x25); + out[1] = ((Const 65534 + x7) - x27); + out[2] = ((Const 65534 + x9) - x29); + out[3] = ((Const 65534 + x11) - x31); + out[4] = ((Const 65534 + x13) - x33); + out[5] = ((Const 65534 + x15) - x35); + out[6] = ((Const 65534 + x17) - x37); + out[7] = ((Const 65534 + x19) - x39); + out[8] = ((Const 65534 + x21) - x41); + out[9] = ((Const 65534 + x23) - x43); + out[10] = ((Const 65534 + x22) - x42); + }}}}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e166m5/fesubDisplay.log b/src/Specific/solinas32_2e166m5/fesubDisplay.log new file mode 100644 index 000000000..9cb67d72e --- /dev/null +++ b/src/Specific/solinas32_2e166m5/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x22, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x42, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25))%core, + (((Const 65534 + x22) - x42), ((Const 65534 + x23) - x43), ((Const 65534 + x21) - x41), ((Const 65534 + x19) - x39), ((Const 65534 + x17) - x37), ((Const 65534 + x15) - x35), ((Const 65534 + x13) - x33), ((Const 65534 + x11) - x31), ((Const 65534 + x9) - x29), ((Const 65534 + x7) - x27), ((Const 131062 + x5) - x25))) +(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 → ReturnType (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_2e171m19/fesub.c b/src/Specific/solinas32_2e171m19/fesub.c index f2af407d3..db56b039a 100644 --- a/src/Specific/solinas32_2e171m19/fesub.c +++ b/src/Specific/solinas32_2e171m19/fesub.c @@ -17,14 +17,14 @@ static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) { const uint32_t x25 = in2[2]; { const uint32_t x23 = in2[1]; { const uint32_t x21 = in2[0]; - out[0] = ((Const 1048538 + x5) - x21); - out[1] = ((Const 1048574 + x7) - x23); - out[2] = ((Const 1048574 + x9) - x25); - out[3] = ((Const 1048574 + x11) - x27); - out[4] = ((Const 1048574 + x13) - x29); - out[5] = ((Const 1048574 + x15) - x31); - out[6] = ((Const 1048574 + x17) - x33); - out[7] = ((Const 1048574 + x19) - x35); - out[8] = ((Const 1048574 + x18) - x34); + out[0] = ((0xfffda + x5) - x21); + out[1] = ((0xffffe + x7) - x23); + out[2] = ((0xffffe + x9) - x25); + out[3] = ((0xffffe + x11) - x27); + out[4] = ((0xffffe + x13) - x29); + out[5] = ((0xffffe + x15) - x31); + out[6] = ((0xffffe + x17) - x33); + out[7] = ((0xffffe + x19) - x35); + out[8] = ((0xffffe + x18) - x34); }}}}}}}}}}}}}}}}}} } diff --git a/src/Specific/solinas32_2e171m19/fesubDisplay.log b/src/Specific/solinas32_2e171m19/fesubDisplay.log index d7529e6ba..c3a1aaa87 100644 --- a/src/Specific/solinas32_2e171m19/fesubDisplay.log +++ b/src/Specific/solinas32_2e171m19/fesubDisplay.log @@ -2,6 +2,6 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - (((Const 1048574 + x18) - x34), ((Const 1048574 + x19) - x35), ((Const 1048574 + x17) - x33), ((Const 1048574 + x15) - x31), ((Const 1048574 + x13) - x29), ((Const 1048574 + x11) - x27), ((Const 1048574 + x9) - x25), ((Const 1048574 + x7) - x23), ((Const 1048538 + x5) - x21))) + (((0xffffe + x18) - x34), ((0xffffe + x19) - x35), ((0xffffe + x17) - x33), ((0xffffe + x15) - x31), ((0xffffe + x13) - x29), ((0xffffe + x11) - x27), ((0xffffe + x9) - x25), ((0xffffe + x7) - x23), ((0xfffda + x5) - x21))) (x, x0)%core : 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) diff --git a/src/Specific/solinas32_2e174m17/fesub.c b/src/Specific/solinas32_2e174m17/fesub.c index 76d7fcc86..4703a03af 100644 --- a/src/Specific/solinas32_2e174m17/fesub.c +++ b/src/Specific/solinas32_2e174m17/fesub.c @@ -17,14 +17,14 @@ static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) { const uint32_t x25 = in2[2]; { const uint32_t x23 = in2[1]; { const uint32_t x21 = in2[0]; - out[0] = ((Const 2097118 + x5) - x21); - out[1] = ((Const 1048574 + x7) - x23); - out[2] = ((Const 1048574 + x9) - x25); - out[3] = ((Const 2097150 + x11) - x27); - out[4] = ((Const 1048574 + x13) - x29); - out[5] = ((Const 1048574 + x15) - x31); - out[6] = ((Const 2097150 + x17) - x33); - out[7] = ((Const 1048574 + x19) - x35); - out[8] = ((Const 1048574 + x18) - x34); + out[0] = ((0x1fffde + x5) - x21); + out[1] = ((0xffffe + x7) - x23); + out[2] = ((0xffffe + x9) - x25); + out[3] = ((0x1ffffe + x11) - x27); + out[4] = ((0xffffe + x13) - x29); + out[5] = ((0xffffe + x15) - x31); + out[6] = ((0x1ffffe + x17) - x33); + out[7] = ((0xffffe + x19) - x35); + out[8] = ((0xffffe + x18) - x34); }}}}}}}}}}}}}}}}}} } diff --git a/src/Specific/solinas32_2e174m17/fesubDisplay.log b/src/Specific/solinas32_2e174m17/fesubDisplay.log index 092c19316..24902e307 100644 --- a/src/Specific/solinas32_2e174m17/fesubDisplay.log +++ b/src/Specific/solinas32_2e174m17/fesubDisplay.log @@ -2,6 +2,6 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - (((Const 1048574 + x18) - x34), ((Const 1048574 + x19) - x35), ((Const 2097150 + x17) - x33), ((Const 1048574 + x15) - x31), ((Const 1048574 + x13) - x29), ((Const 2097150 + x11) - x27), ((Const 1048574 + x9) - x25), ((Const 1048574 + x7) - x23), ((Const 2097118 + x5) - x21))) + (((0xffffe + x18) - x34), ((0xffffe + x19) - x35), ((0x1ffffe + x17) - x33), ((0xffffe + x15) - x31), ((0xffffe + x13) - x29), ((0x1ffffe + x11) - x27), ((0xffffe + x9) - x25), ((0xffffe + x7) - x23), ((0x1fffde + x5) - x21))) (x, x0)%core : 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) diff --git a/src/Specific/solinas32_2e191m19/feadd.c b/src/Specific/solinas32_2e191m19/feadd.c new file mode 100644 index 000000000..57dd4e1af --- /dev/null +++ b/src/Specific/solinas32_2e191m19/feadd.c @@ -0,0 +1,33 @@ +static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) { + { const uint32_t x20 = 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 x38 = in2[9]; + { const uint32_t x39 = in2[8]; + { const uint32_t x37 = in2[7]; + { const uint32_t x35 = in2[6]; + { const uint32_t x33 = in2[5]; + { const uint32_t x31 = in2[4]; + { const uint32_t x29 = in2[3]; + { const uint32_t x27 = in2[2]; + { const uint32_t x25 = in2[1]; + { const uint32_t x23 = in2[0]; + out[0] = (x5 + x23); + out[1] = (x7 + x25); + out[2] = (x9 + x27); + out[3] = (x11 + x29); + out[4] = (x13 + x31); + out[5] = (x15 + x33); + out[6] = (x17 + x35); + out[7] = (x19 + x37); + out[8] = (x21 + x39); + out[9] = (x20 + x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e191m19/feaddDisplay.log b/src/Specific/solinas32_2e191m19/feaddDisplay.log new file mode 100644 index 000000000..8a4c51148 --- /dev/null +++ b/src/Specific/solinas32_2e191m19/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas32_2e191m19/fesub.c b/src/Specific/solinas32_2e191m19/fesub.c new file mode 100644 index 000000000..34abdaf30 --- /dev/null +++ b/src/Specific/solinas32_2e191m19/fesub.c @@ -0,0 +1,33 @@ +static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) { + { const uint32_t x20 = 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 x38 = in2[9]; + { const uint32_t x39 = in2[8]; + { const uint32_t x37 = in2[7]; + { const uint32_t x35 = in2[6]; + { const uint32_t x33 = in2[5]; + { const uint32_t x31 = in2[4]; + { const uint32_t x29 = in2[3]; + { const uint32_t x27 = in2[2]; + { const uint32_t x25 = in2[1]; + { const uint32_t x23 = in2[0]; + out[0] = ((Const 2097114 + x5) - x23); + out[1] = ((0xffffe + x7) - x25); + out[2] = ((0xffffe + x9) - x27); + out[3] = ((0xffffe + x11) - x29); + out[4] = ((0xffffe + x13) - x31); + out[5] = ((0xffffe + x15) - x33); + out[6] = ((0xffffe + x17) - x35); + out[7] = ((0xffffe + x19) - x37); + out[8] = ((0xffffe + x21) - x39); + out[9] = ((0xffffe + x20) - x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e191m19/fesubDisplay.log b/src/Specific/solinas32_2e191m19/fesubDisplay.log new file mode 100644 index 000000000..823ae1fc4 --- /dev/null +++ b/src/Specific/solinas32_2e191m19/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + (((0xffffe + x20) - x38), ((0xffffe + x21) - x39), ((0xffffe + x19) - x37), ((0xffffe + x17) - x35), ((0xffffe + x15) - x33), ((0xffffe + x13) - x31), ((0xffffe + x11) - x29), ((0xffffe + x9) - x27), ((0xffffe + x7) - x25), ((Const 2097114 + x5) - x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas32_2e198m17/fesub.c b/src/Specific/solinas32_2e198m17/fesub.c index eb2e15147..d591ab209 100644 --- a/src/Specific/solinas32_2e198m17/fesub.c +++ b/src/Specific/solinas32_2e198m17/fesub.c @@ -17,7 +17,7 @@ static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) { const uint32_t x25 = in2[2]; { const uint32_t x23 = in2[1]; { const uint32_t x21 = in2[0]; - out[0] = ((Const 8388574 + x5) - x21); + out[0] = ((0x7fffde + x5) - x21); out[1] = ((0x7ffffe + x7) - x23); out[2] = ((0x7ffffe + x9) - x25); out[3] = ((0x7ffffe + x11) - x27); diff --git a/src/Specific/solinas32_2e198m17/fesubDisplay.log b/src/Specific/solinas32_2e198m17/fesubDisplay.log index 051231799..16ff09f9d 100644 --- a/src/Specific/solinas32_2e198m17/fesubDisplay.log +++ b/src/Specific/solinas32_2e198m17/fesubDisplay.log @@ -2,6 +2,6 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - (((0x7ffffe + x18) - x34), ((0x7ffffe + x19) - x35), ((0x7ffffe + x17) - x33), ((0x7ffffe + x15) - x31), ((0x7ffffe + x13) - x29), ((0x7ffffe + x11) - x27), ((0x7ffffe + x9) - x25), ((0x7ffffe + x7) - x23), ((Const 8388574 + x5) - x21))) + (((0x7ffffe + x18) - x34), ((0x7ffffe + x19) - x35), ((0x7ffffe + x17) - x33), ((0x7ffffe + x15) - x31), ((0x7ffffe + x13) - x29), ((0x7ffffe + x11) - x27), ((0x7ffffe + x9) - x25), ((0x7ffffe + x7) - x23), ((0x7fffde + x5) - x21))) (x, x0)%core : 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) diff --git a/src/Specific/solinas32_2e205m45x2e198m1/feadd.c b/src/Specific/solinas32_2e205m45x2e198m1/feadd.c new file mode 100644 index 000000000..57dd4e1af --- /dev/null +++ b/src/Specific/solinas32_2e205m45x2e198m1/feadd.c @@ -0,0 +1,33 @@ +static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) { + { const uint32_t x20 = 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 x38 = in2[9]; + { const uint32_t x39 = in2[8]; + { const uint32_t x37 = in2[7]; + { const uint32_t x35 = in2[6]; + { const uint32_t x33 = in2[5]; + { const uint32_t x31 = in2[4]; + { const uint32_t x29 = in2[3]; + { const uint32_t x27 = in2[2]; + { const uint32_t x25 = in2[1]; + { const uint32_t x23 = in2[0]; + out[0] = (x5 + x23); + out[1] = (x7 + x25); + out[2] = (x9 + x27); + out[3] = (x11 + x29); + out[4] = (x13 + x31); + out[5] = (x15 + x33); + out[6] = (x17 + x35); + out[7] = (x19 + x37); + out[8] = (x21 + x39); + out[9] = (x20 + x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e205m45x2e198m1/feaddDisplay.log b/src/Specific/solinas32_2e205m45x2e198m1/feaddDisplay.log new file mode 100644 index 000000000..8a4c51148 --- /dev/null +++ b/src/Specific/solinas32_2e205m45x2e198m1/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas32_2e205m45x2e198m1/fesub.c b/src/Specific/solinas32_2e205m45x2e198m1/fesub.c new file mode 100644 index 000000000..583193f60 --- /dev/null +++ b/src/Specific/solinas32_2e205m45x2e198m1/fesub.c @@ -0,0 +1,33 @@ +static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) { + { const uint32_t x20 = 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 x38 = in2[9]; + { const uint32_t x39 = in2[8]; + { const uint32_t x37 = in2[7]; + { const uint32_t x35 = in2[6]; + { const uint32_t x33 = in2[5]; + { const uint32_t x31 = in2[4]; + { const uint32_t x29 = in2[3]; + { const uint32_t x27 = in2[2]; + { const uint32_t x25 = in2[1]; + { const uint32_t x23 = in2[0]; + out[0] = ((0x3ffffe + x5) - x23); + out[1] = ((0x1ffffe + x7) - x25); + out[2] = ((0x3ffffe + x9) - x27); + out[3] = ((0x1ffffe + x11) - x29); + out[4] = ((0x3ffffe + x13) - x31); + out[5] = ((0x1ffffe + x15) - x33); + out[6] = ((0x3ffffe + x17) - x35); + out[7] = ((0x1ffffe + x19) - x37); + out[8] = ((0x3ffffe + x21) - x39); + out[9] = ((Const 1359870 + x20) - x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e205m45x2e198m1/fesubDisplay.log b/src/Specific/solinas32_2e205m45x2e198m1/fesubDisplay.log new file mode 100644 index 000000000..73710dc9d --- /dev/null +++ b/src/Specific/solinas32_2e205m45x2e198m1/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + (((Const 1359870 + x20) - x38), ((0x3ffffe + x21) - x39), ((0x1ffffe + x19) - x37), ((0x3ffffe + x17) - x35), ((0x1ffffe + x15) - x33), ((0x3ffffe + x13) - x31), ((0x1ffffe + x11) - x29), ((0x3ffffe + x9) - x27), ((0x1ffffe + x7) - x25), ((0x3ffffe + x5) - x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas32_2e221m3/feadd.c b/src/Specific/solinas32_2e221m3/feadd.c new file mode 100644 index 000000000..57dd4e1af --- /dev/null +++ b/src/Specific/solinas32_2e221m3/feadd.c @@ -0,0 +1,33 @@ +static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) { + { const uint32_t x20 = 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 x38 = in2[9]; + { const uint32_t x39 = in2[8]; + { const uint32_t x37 = in2[7]; + { const uint32_t x35 = in2[6]; + { const uint32_t x33 = in2[5]; + { const uint32_t x31 = in2[4]; + { const uint32_t x29 = in2[3]; + { const uint32_t x27 = in2[2]; + { const uint32_t x25 = in2[1]; + { const uint32_t x23 = in2[0]; + out[0] = (x5 + x23); + out[1] = (x7 + x25); + out[2] = (x9 + x27); + out[3] = (x11 + x29); + out[4] = (x13 + x31); + out[5] = (x15 + x33); + out[6] = (x17 + x35); + out[7] = (x19 + x37); + out[8] = (x21 + x39); + out[9] = (x20 + x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e221m3/feaddDisplay.log b/src/Specific/solinas32_2e221m3/feaddDisplay.log new file mode 100644 index 000000000..8a4c51148 --- /dev/null +++ b/src/Specific/solinas32_2e221m3/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas32_2e221m3/fesub.c b/src/Specific/solinas32_2e221m3/fesub.c new file mode 100644 index 000000000..bde8658ed --- /dev/null +++ b/src/Specific/solinas32_2e221m3/fesub.c @@ -0,0 +1,33 @@ +static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) { + { const uint32_t x20 = 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 x38 = in2[9]; + { const uint32_t x39 = in2[8]; + { const uint32_t x37 = in2[7]; + { const uint32_t x35 = in2[6]; + { const uint32_t x33 = in2[5]; + { const uint32_t x31 = in2[4]; + { const uint32_t x29 = in2[3]; + { const uint32_t x27 = in2[2]; + { const uint32_t x25 = in2[1]; + { const uint32_t x23 = in2[0]; + out[0] = ((Const 16777210 + x5) - x23); + out[1] = ((0x7ffffe + x7) - x25); + out[2] = ((0x7ffffe + x9) - x27); + out[3] = ((0x7ffffe + x11) - x29); + out[4] = ((0x7ffffe + x13) - x31); + out[5] = ((0x7ffffe + x15) - x33); + out[6] = ((0x7ffffe + x17) - x35); + out[7] = ((0x7ffffe + x19) - x37); + out[8] = ((0x7ffffe + x21) - x39); + out[9] = ((0x7ffffe + x20) - x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e221m3/fesubDisplay.log b/src/Specific/solinas32_2e221m3/fesubDisplay.log new file mode 100644 index 000000000..290e3f8d4 --- /dev/null +++ b/src/Specific/solinas32_2e221m3/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + (((0x7ffffe + x20) - x38), ((0x7ffffe + x21) - x39), ((0x7ffffe + x19) - x37), ((0x7ffffe + x17) - x35), ((0x7ffffe + x15) - x33), ((0x7ffffe + x13) - x31), ((0x7ffffe + x11) - x29), ((0x7ffffe + x9) - x27), ((0x7ffffe + x7) - x25), ((Const 16777210 + x5) - x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas32_2e222m117/feadd.c b/src/Specific/solinas32_2e222m117/feadd.c new file mode 100644 index 000000000..57dd4e1af --- /dev/null +++ b/src/Specific/solinas32_2e222m117/feadd.c @@ -0,0 +1,33 @@ +static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) { + { const uint32_t x20 = 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 x38 = in2[9]; + { const uint32_t x39 = in2[8]; + { const uint32_t x37 = in2[7]; + { const uint32_t x35 = in2[6]; + { const uint32_t x33 = in2[5]; + { const uint32_t x31 = in2[4]; + { const uint32_t x29 = in2[3]; + { const uint32_t x27 = in2[2]; + { const uint32_t x25 = in2[1]; + { const uint32_t x23 = in2[0]; + out[0] = (x5 + x23); + out[1] = (x7 + x25); + out[2] = (x9 + x27); + out[3] = (x11 + x29); + out[4] = (x13 + x31); + out[5] = (x15 + x33); + out[6] = (x17 + x35); + out[7] = (x19 + x37); + out[8] = (x21 + x39); + out[9] = (x20 + x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e222m117/feaddDisplay.log b/src/Specific/solinas32_2e222m117/feaddDisplay.log new file mode 100644 index 000000000..8a4c51148 --- /dev/null +++ b/src/Specific/solinas32_2e222m117/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas32_2e222m117/fesub.c b/src/Specific/solinas32_2e222m117/fesub.c new file mode 100644 index 000000000..8a3ae582a --- /dev/null +++ b/src/Specific/solinas32_2e222m117/fesub.c @@ -0,0 +1,33 @@ +static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) { + { const uint32_t x20 = 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 x38 = in2[9]; + { const uint32_t x39 = in2[8]; + { const uint32_t x37 = in2[7]; + { const uint32_t x35 = in2[6]; + { const uint32_t x33 = in2[5]; + { const uint32_t x31 = in2[4]; + { const uint32_t x29 = in2[3]; + { const uint32_t x27 = in2[2]; + { const uint32_t x25 = in2[1]; + { const uint32_t x23 = in2[0]; + out[0] = ((Const 16776982 + x5) - x23); + out[1] = ((0x7ffffe + x7) - x25); + out[2] = ((0x7ffffe + x9) - x27); + out[3] = ((0x7ffffe + x11) - x29); + out[4] = ((0x7ffffe + x13) - x31); + out[5] = ((0xfffffe + x15) - x33); + out[6] = ((0x7ffffe + x17) - x35); + out[7] = ((0x7ffffe + x19) - x37); + out[8] = ((0x7ffffe + x21) - x39); + out[9] = ((0x7ffffe + x20) - x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e222m117/fesubDisplay.log b/src/Specific/solinas32_2e222m117/fesubDisplay.log new file mode 100644 index 000000000..e1d387497 --- /dev/null +++ b/src/Specific/solinas32_2e222m117/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + (((0x7ffffe + x20) - x38), ((0x7ffffe + x21) - x39), ((0x7ffffe + x19) - x37), ((0x7ffffe + x17) - x35), ((0xfffffe + x15) - x33), ((0x7ffffe + x13) - x31), ((0x7ffffe + x11) - x29), ((0x7ffffe + x9) - x27), ((0x7ffffe + x7) - x25), ((Const 16776982 + x5) - x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas32_2e230m27/feadd.c b/src/Specific/solinas32_2e230m27/feadd.c new file mode 100644 index 000000000..57dd4e1af --- /dev/null +++ b/src/Specific/solinas32_2e230m27/feadd.c @@ -0,0 +1,33 @@ +static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) { + { const uint32_t x20 = 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 x38 = in2[9]; + { const uint32_t x39 = in2[8]; + { const uint32_t x37 = in2[7]; + { const uint32_t x35 = in2[6]; + { const uint32_t x33 = in2[5]; + { const uint32_t x31 = in2[4]; + { const uint32_t x29 = in2[3]; + { const uint32_t x27 = in2[2]; + { const uint32_t x25 = in2[1]; + { const uint32_t x23 = in2[0]; + out[0] = (x5 + x23); + out[1] = (x7 + x25); + out[2] = (x9 + x27); + out[3] = (x11 + x29); + out[4] = (x13 + x31); + out[5] = (x15 + x33); + out[6] = (x17 + x35); + out[7] = (x19 + x37); + out[8] = (x21 + x39); + out[9] = (x20 + x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e230m27/feaddDisplay.log b/src/Specific/solinas32_2e230m27/feaddDisplay.log new file mode 100644 index 000000000..8a4c51148 --- /dev/null +++ b/src/Specific/solinas32_2e230m27/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas32_2e230m27/fesub.c b/src/Specific/solinas32_2e230m27/fesub.c new file mode 100644 index 000000000..7aac9e122 --- /dev/null +++ b/src/Specific/solinas32_2e230m27/fesub.c @@ -0,0 +1,33 @@ +static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) { + { const uint32_t x20 = 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 x38 = in2[9]; + { const uint32_t x39 = in2[8]; + { const uint32_t x37 = in2[7]; + { const uint32_t x35 = in2[6]; + { const uint32_t x33 = in2[5]; + { const uint32_t x31 = in2[4]; + { const uint32_t x29 = in2[3]; + { const uint32_t x27 = in2[2]; + { const uint32_t x25 = in2[1]; + { const uint32_t x23 = in2[0]; + out[0] = ((Const 16777162 + x5) - x23); + out[1] = ((0xfffffe + x7) - x25); + out[2] = ((0xfffffe + x9) - x27); + out[3] = ((0xfffffe + x11) - x29); + out[4] = ((0xfffffe + x13) - x31); + out[5] = ((0xfffffe + x15) - x33); + out[6] = ((0xfffffe + x17) - x35); + out[7] = ((0xfffffe + x19) - x37); + out[8] = ((0xfffffe + x21) - x39); + out[9] = ((0xfffffe + x20) - x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e230m27/fesubDisplay.log b/src/Specific/solinas32_2e230m27/fesubDisplay.log new file mode 100644 index 000000000..b9125ad53 --- /dev/null +++ b/src/Specific/solinas32_2e230m27/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + (((0xfffffe + x20) - x38), ((0xfffffe + x21) - x39), ((0xfffffe + x19) - x37), ((0xfffffe + x17) - x35), ((0xfffffe + x15) - x33), ((0xfffffe + x13) - x31), ((0xfffffe + x11) - x29), ((0xfffffe + x9) - x27), ((0xfffffe + x7) - x25), ((Const 16777162 + x5) - x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas32_2e243m9/fesub.c b/src/Specific/solinas32_2e243m9/fesub.c index 00e5d4f52..51d3a48e3 100644 --- a/src/Specific/solinas32_2e243m9/fesub.c +++ b/src/Specific/solinas32_2e243m9/fesub.c @@ -17,7 +17,7 @@ static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) { const uint32_t x25 = in2[2]; { const uint32_t x23 = in2[1]; { const uint32_t x21 = in2[0]; - out[0] = ((Const 268435438 + x5) - x21); + out[0] = ((0xfffffee + x5) - x21); out[1] = ((0xffffffe + x7) - x23); out[2] = ((0xffffffe + x9) - x25); out[3] = ((0xffffffe + x11) - x27); diff --git a/src/Specific/solinas32_2e243m9/fesubDisplay.log b/src/Specific/solinas32_2e243m9/fesubDisplay.log index 3efbd3237..c2adfb236 100644 --- a/src/Specific/solinas32_2e243m9/fesubDisplay.log +++ b/src/Specific/solinas32_2e243m9/fesubDisplay.log @@ -2,6 +2,6 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - (((0xffffffe + x18) - x34), ((0xffffffe + x19) - x35), ((0xffffffe + x17) - x33), ((0xffffffe + x15) - x31), ((0xffffffe + x13) - x29), ((0xffffffe + x11) - x27), ((0xffffffe + x9) - x25), ((0xffffffe + x7) - x23), ((Const 268435438 + x5) - x21))) + (((0xffffffe + x18) - x34), ((0xffffffe + x19) - x35), ((0xffffffe + x17) - x33), ((0xffffffe + x15) - x31), ((0xffffffe + x13) - x29), ((0xffffffe + x11) - x27), ((0xffffffe + x9) - x25), ((0xffffffe + x7) - x23), ((0xfffffee + x5) - x21))) (x, x0)%core : 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) diff --git a/src/Specific/solinas32_2e251m9/feadd.c b/src/Specific/solinas32_2e251m9/feadd.c new file mode 100644 index 000000000..57dd4e1af --- /dev/null +++ b/src/Specific/solinas32_2e251m9/feadd.c @@ -0,0 +1,33 @@ +static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) { + { const uint32_t x20 = 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 x38 = in2[9]; + { const uint32_t x39 = in2[8]; + { const uint32_t x37 = in2[7]; + { const uint32_t x35 = in2[6]; + { const uint32_t x33 = in2[5]; + { const uint32_t x31 = in2[4]; + { const uint32_t x29 = in2[3]; + { const uint32_t x27 = in2[2]; + { const uint32_t x25 = in2[1]; + { const uint32_t x23 = in2[0]; + out[0] = (x5 + x23); + out[1] = (x7 + x25); + out[2] = (x9 + x27); + out[3] = (x11 + x29); + out[4] = (x13 + x31); + out[5] = (x15 + x33); + out[6] = (x17 + x35); + out[7] = (x19 + x37); + out[8] = (x21 + x39); + out[9] = (x20 + x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e251m9/feaddDisplay.log b/src/Specific/solinas32_2e251m9/feaddDisplay.log new file mode 100644 index 000000000..8a4c51148 --- /dev/null +++ b/src/Specific/solinas32_2e251m9/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas32_2e251m9/fesub.c b/src/Specific/solinas32_2e251m9/fesub.c new file mode 100644 index 000000000..1a01bec17 --- /dev/null +++ b/src/Specific/solinas32_2e251m9/fesub.c @@ -0,0 +1,33 @@ +static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) { + { const uint32_t x20 = 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 x38 = in2[9]; + { const uint32_t x39 = in2[8]; + { const uint32_t x37 = in2[7]; + { const uint32_t x35 = in2[6]; + { const uint32_t x33 = in2[5]; + { const uint32_t x31 = in2[4]; + { const uint32_t x29 = in2[3]; + { const uint32_t x27 = in2[2]; + { const uint32_t x25 = in2[1]; + { const uint32_t x23 = in2[0]; + out[0] = ((0x7ffffee + x5) - x23); + out[1] = ((0x3fffffe + x7) - x25); + out[2] = ((0x3fffffe + x9) - x27); + out[3] = ((0x3fffffe + x11) - x29); + out[4] = ((0x3fffffe + x13) - x31); + out[5] = ((0x3fffffe + x15) - x33); + out[6] = ((0x3fffffe + x17) - x35); + out[7] = ((0x3fffffe + x19) - x37); + out[8] = ((0x3fffffe + x21) - x39); + out[9] = ((0x3fffffe + x20) - x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e251m9/fesubDisplay.log b/src/Specific/solinas32_2e251m9/fesubDisplay.log new file mode 100644 index 000000000..590e5d991 --- /dev/null +++ b/src/Specific/solinas32_2e251m9/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + (((0x3fffffe + x20) - x38), ((0x3fffffe + x21) - x39), ((0x3fffffe + x19) - x37), ((0x3fffffe + x17) - x35), ((0x3fffffe + x15) - x33), ((0x3fffffe + x13) - x31), ((0x3fffffe + x11) - x29), ((0x3fffffe + x9) - x27), ((0x3fffffe + x7) - x25), ((0x7ffffee + x5) - x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas32_2e254m127x2e240m1/feadd.c b/src/Specific/solinas32_2e254m127x2e240m1/feadd.c new file mode 100644 index 000000000..1763e8727 --- /dev/null +++ b/src/Specific/solinas32_2e254m127x2e240m1/feadd.c @@ -0,0 +1,36 @@ +static void feadd(uint32_t out[11], const uint32_t in1[11], const uint32_t in2[11]) { + { const uint32_t x22 = 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 x42 = in2[10]; + { const uint32_t x43 = in2[9]; + { const uint32_t x41 = in2[8]; + { const uint32_t x39 = in2[7]; + { const uint32_t x37 = in2[6]; + { const uint32_t x35 = in2[5]; + { const uint32_t x33 = in2[4]; + { const uint32_t x31 = in2[3]; + { const uint32_t x29 = in2[2]; + { const uint32_t x27 = in2[1]; + { const uint32_t x25 = in2[0]; + out[0] = (x5 + x25); + out[1] = (x7 + x27); + out[2] = (x9 + x29); + out[3] = (x11 + x31); + out[4] = (x13 + x33); + out[5] = (x15 + x35); + out[6] = (x17 + x37); + out[7] = (x19 + x39); + out[8] = (x21 + x41); + out[9] = (x23 + x43); + out[10] = (x22 + x42); + }}}}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e254m127x2e240m1/feaddDisplay.log b/src/Specific/solinas32_2e254m127x2e240m1/feaddDisplay.log new file mode 100644 index 000000000..433ecbc2e --- /dev/null +++ b/src/Specific/solinas32_2e254m127x2e240m1/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x22, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x42, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25))%core, + ((x22 + x42), (x23 + x43), (x21 + x41), (x19 + x39), (x17 + x37), (x15 + x35), (x13 + x33), (x11 + x31), (x9 + x29), (x7 + x27), (x5 + x25))) +(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 → ReturnType (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_2e254m127x2e240m1/fesub.c b/src/Specific/solinas32_2e254m127x2e240m1/fesub.c new file mode 100644 index 000000000..1fdf14e21 --- /dev/null +++ b/src/Specific/solinas32_2e254m127x2e240m1/fesub.c @@ -0,0 +1,36 @@ +static void fesub(uint32_t out[11], const uint32_t in1[11], const uint32_t in2[11]) { + { const uint32_t x22 = 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 x42 = in2[10]; + { const uint32_t x43 = in2[9]; + { const uint32_t x41 = in2[8]; + { const uint32_t x39 = in2[7]; + { const uint32_t x37 = in2[6]; + { const uint32_t x35 = in2[5]; + { const uint32_t x33 = in2[4]; + { const uint32_t x31 = in2[3]; + { const uint32_t x29 = in2[2]; + { const uint32_t x27 = in2[1]; + { const uint32_t x25 = in2[0]; + out[0] = ((0x1fffffe + x5) - x25); + out[1] = ((0xfffffe + x7) - x27); + out[2] = ((0xfffffe + x9) - x29); + out[3] = ((0xfffffe + x11) - x31); + out[4] = ((0xfffffe + x13) - x33); + out[5] = ((0xfffffe + x15) - x35); + out[6] = ((0xfffffe + x17) - x37); + out[7] = ((0xfffffe + x19) - x39); + out[8] = ((0xfffffe + x21) - x41); + out[9] = ((0xfffffe + x23) - x43); + out[10] = ((Const 16647166 + x22) - x42); + }}}}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e254m127x2e240m1/fesubDisplay.log b/src/Specific/solinas32_2e254m127x2e240m1/fesubDisplay.log new file mode 100644 index 000000000..840a685b5 --- /dev/null +++ b/src/Specific/solinas32_2e254m127x2e240m1/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x22, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x42, x43, x41, x39, x37, x35, x33, x31, x29, x27, x25))%core, + (((Const 16647166 + x22) - x42), ((0xfffffe + x23) - x43), ((0xfffffe + x21) - x41), ((0xfffffe + x19) - x39), ((0xfffffe + x17) - x37), ((0xfffffe + x15) - x35), ((0xfffffe + x13) - x33), ((0xfffffe + x11) - x31), ((0xfffffe + x9) - x29), ((0xfffffe + x7) - x27), ((0x1fffffe + x5) - x25))) +(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 → ReturnType (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_2e255m19/feadd.c b/src/Specific/solinas32_2e255m19/feadd.c new file mode 100644 index 000000000..57dd4e1af --- /dev/null +++ b/src/Specific/solinas32_2e255m19/feadd.c @@ -0,0 +1,33 @@ +static void feadd(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) { + { const uint32_t x20 = 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 x38 = in2[9]; + { const uint32_t x39 = in2[8]; + { const uint32_t x37 = in2[7]; + { const uint32_t x35 = in2[6]; + { const uint32_t x33 = in2[5]; + { const uint32_t x31 = in2[4]; + { const uint32_t x29 = in2[3]; + { const uint32_t x27 = in2[2]; + { const uint32_t x25 = in2[1]; + { const uint32_t x23 = in2[0]; + out[0] = (x5 + x23); + out[1] = (x7 + x25); + out[2] = (x9 + x27); + out[3] = (x11 + x29); + out[4] = (x13 + x31); + out[5] = (x15 + x33); + out[6] = (x17 + x35); + out[7] = (x19 + x37); + out[8] = (x21 + x39); + out[9] = (x20 + x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e255m19/feaddDisplay.log b/src/Specific/solinas32_2e255m19/feaddDisplay.log new file mode 100644 index 000000000..8a4c51148 --- /dev/null +++ b/src/Specific/solinas32_2e255m19/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas32_2e255m19/fesub.c b/src/Specific/solinas32_2e255m19/fesub.c new file mode 100644 index 000000000..b92ed2bbe --- /dev/null +++ b/src/Specific/solinas32_2e255m19/fesub.c @@ -0,0 +1,33 @@ +static void fesub(uint32_t out[10], const uint32_t in1[10], const uint32_t in2[10]) { + { const uint32_t x20 = 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 x38 = in2[9]; + { const uint32_t x39 = in2[8]; + { const uint32_t x37 = in2[7]; + { const uint32_t x35 = in2[6]; + { const uint32_t x33 = in2[5]; + { const uint32_t x31 = in2[4]; + { const uint32_t x29 = in2[3]; + { const uint32_t x27 = in2[2]; + { const uint32_t x25 = in2[1]; + { const uint32_t x23 = in2[0]; + out[0] = ((0x7ffffda + x5) - x23); + out[1] = ((0x3fffffe + x7) - x25); + out[2] = ((0x7fffffe + x9) - x27); + out[3] = ((0x3fffffe + x11) - x29); + out[4] = ((0x7fffffe + x13) - x31); + out[5] = ((0x3fffffe + x15) - x33); + out[6] = ((0x7fffffe + x17) - x35); + out[7] = ((0x3fffffe + x19) - x37); + out[8] = ((0x7fffffe + x21) - x39); + out[9] = ((0x3fffffe + x20) - x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas32_2e255m19/fesubDisplay.log b/src/Specific/solinas32_2e255m19/fesubDisplay.log new file mode 100644 index 000000000..bb18a6a51 --- /dev/null +++ b/src/Specific/solinas32_2e255m19/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + (((0x3fffffe + x20) - x38), ((0x7fffffe + x21) - x39), ((0x3fffffe + x19) - x37), ((0x7fffffe + x17) - x35), ((0x3fffffe + x15) - x33), ((0x7fffffe + x13) - x31), ((0x3fffffe + x11) - x29), ((0x7fffffe + x9) - x27), ((0x3fffffe + x7) - x25), ((0x7ffffda + x5) - x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas32_2e255m2e4m2e1m1/fesub.c b/src/Specific/solinas32_2e255m2e4m2e1m1/fesub.c index c7877fc45..e5f40349c 100644 --- a/src/Specific/solinas32_2e255m2e4m2e1m1/fesub.c +++ b/src/Specific/solinas32_2e255m2e4m2e1m1/fesub.c @@ -17,7 +17,7 @@ static void fesub(uint32_t out[9], const uint32_t in1[9], const uint32_t in2[9]) { const uint32_t x25 = in2[2]; { const uint32_t x23 = in2[1]; { const uint32_t x21 = in2[0]; - out[0] = ((Const 1073741786 + x5) - x21); + out[0] = ((0x3fffffda + x5) - x21); out[1] = ((0x1ffffffe + x7) - x23); out[2] = ((0x1ffffffe + x9) - x25); out[3] = ((0x3ffffffe + x11) - x27); diff --git a/src/Specific/solinas32_2e255m2e4m2e1m1/fesubDisplay.log b/src/Specific/solinas32_2e255m2e4m2e1m1/fesubDisplay.log index 46aa32e70..fa36e6c35 100644 --- a/src/Specific/solinas32_2e255m2e4m2e1m1/fesubDisplay.log +++ b/src/Specific/solinas32_2e255m2e4m2e1m1/fesubDisplay.log @@ -2,6 +2,6 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - (((0x1ffffffe + x18) - x34), ((0x1ffffffe + x19) - x35), ((0x3ffffffe + x17) - x33), ((0x1ffffffe + x15) - x31), ((0x1ffffffe + x13) - x29), ((0x3ffffffe + x11) - x27), ((0x1ffffffe + x9) - x25), ((0x1ffffffe + x7) - x23), ((Const 1073741786 + x5) - x21))) + (((0x1ffffffe + x18) - x34), ((0x1ffffffe + x19) - x35), ((0x3ffffffe + x17) - x33), ((0x1ffffffe + x15) - x31), ((0x1ffffffe + x13) - x29), ((0x3ffffffe + x11) - x27), ((0x1ffffffe + x9) - x25), ((0x1ffffffe + x7) - x23), ((0x3fffffda + x5) - x21))) (x, x0)%core : 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) diff --git a/src/Specific/solinas64_2e382m105/feadd.c b/src/Specific/solinas64_2e382m105/feadd.c new file mode 100644 index 000000000..df991e375 --- /dev/null +++ b/src/Specific/solinas64_2e382m105/feadd.c @@ -0,0 +1,33 @@ +static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) { + { const uint64_t x20 = 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 x38 = in2[9]; + { const uint64_t x39 = in2[8]; + { const uint64_t x37 = in2[7]; + { const uint64_t x35 = in2[6]; + { const uint64_t x33 = in2[5]; + { const uint64_t x31 = in2[4]; + { const uint64_t x29 = in2[3]; + { const uint64_t x27 = in2[2]; + { const uint64_t x25 = in2[1]; + { const uint64_t x23 = in2[0]; + out[0] = (x5 + x23); + out[1] = (x7 + x25); + out[2] = (x9 + x27); + out[3] = (x11 + x29); + out[4] = (x13 + x31); + out[5] = (x15 + x33); + out[6] = (x17 + x35); + out[7] = (x19 + x37); + out[8] = (x21 + x39); + out[9] = (x20 + x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas64_2e382m105/feaddDisplay.log b/src/Specific/solinas64_2e382m105/feaddDisplay.log new file mode 100644 index 000000000..04176128e --- /dev/null +++ b/src/Specific/solinas64_2e382m105/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas64_2e382m105/fesub.c b/src/Specific/solinas64_2e382m105/fesub.c new file mode 100644 index 000000000..7a07fe4cd --- /dev/null +++ b/src/Specific/solinas64_2e382m105/fesub.c @@ -0,0 +1,33 @@ +static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) { + { const uint64_t x20 = 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 x38 = in2[9]; + { const uint64_t x39 = in2[8]; + { const uint64_t x37 = in2[7]; + { const uint64_t x35 = in2[6]; + { const uint64_t x33 = in2[5]; + { const uint64_t x31 = in2[4]; + { const uint64_t x29 = in2[3]; + { const uint64_t x27 = in2[2]; + { const uint64_t x25 = in2[1]; + { const uint64_t x23 = in2[0]; + out[0] = ((Const 1099511627566 + x5) - x23); + out[1] = ((0x7ffffffffe + x7) - x25); + out[2] = ((0x7ffffffffe + x9) - x27); + out[3] = ((0x7ffffffffe + x11) - x29); + out[4] = ((0x7ffffffffe + x13) - x31); + out[5] = ((0xfffffffffe + x15) - x33); + out[6] = ((0x7ffffffffe + x17) - x35); + out[7] = ((0x7ffffffffe + x19) - x37); + out[8] = ((0x7ffffffffe + x21) - x39); + out[9] = ((0x7ffffffffe + x20) - x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas64_2e382m105/fesubDisplay.log b/src/Specific/solinas64_2e382m105/fesubDisplay.log new file mode 100644 index 000000000..960728d51 --- /dev/null +++ b/src/Specific/solinas64_2e382m105/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + (((0x7ffffffffe + x20) - x38), ((0x7ffffffffe + x21) - x39), ((0x7ffffffffe + x19) - x37), ((0x7ffffffffe + x17) - x35), ((0xfffffffffe + x15) - x33), ((0x7ffffffffe + x13) - x31), ((0x7ffffffffe + x11) - x29), ((0x7ffffffffe + x9) - x27), ((0x7ffffffffe + x7) - x25), ((Const 1099511627566 + x5) - x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas64_2e414m17/fesub.c b/src/Specific/solinas64_2e414m17/fesub.c index 0aa9df3a9..a655dc081 100644 --- a/src/Specific/solinas64_2e414m17/fesub.c +++ b/src/Specific/solinas64_2e414m17/fesub.c @@ -17,7 +17,7 @@ static void fesub(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) { const uint64_t x25 = in2[2]; { const uint64_t x23 = in2[1]; { const uint64_t x21 = in2[0]; - out[0] = ((Const 140737488355294 + x5) - x21); + out[0] = ((0x7fffffffffde + x5) - x21); out[1] = ((0x7ffffffffffe + x7) - x23); out[2] = ((0x7ffffffffffe + x9) - x25); out[3] = ((0x7ffffffffffe + x11) - x27); diff --git a/src/Specific/solinas64_2e414m17/fesubDisplay.log b/src/Specific/solinas64_2e414m17/fesubDisplay.log index ade644353..b87ea5ac5 100644 --- a/src/Specific/solinas64_2e414m17/fesubDisplay.log +++ b/src/Specific/solinas64_2e414m17/fesubDisplay.log @@ -2,6 +2,6 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - (((0x7ffffffffffe + x18) - x34), ((0x7ffffffffffe + x19) - x35), ((0x7ffffffffffe + x17) - x33), ((0x7ffffffffffe + x15) - x31), ((0x7ffffffffffe + x13) - x29), ((0x7ffffffffffe + x11) - x27), ((0x7ffffffffffe + x9) - x25), ((0x7ffffffffffe + x7) - x23), ((Const 140737488355294 + x5) - x21))) + (((0x7ffffffffffe + x18) - x34), ((0x7ffffffffffe + x19) - x35), ((0x7ffffffffffe + x17) - x33), ((0x7ffffffffffe + x15) - x31), ((0x7ffffffffffe + x13) - x29), ((0x7ffffffffffe + x11) - x27), ((0x7ffffffffffe + x9) - x25), ((0x7ffffffffffe + x7) - x23), ((0x7fffffffffde + x5) - x21))) (x, x0)%core : 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) diff --git a/src/Specific/solinas64_2e489m21/fesub.c b/src/Specific/solinas64_2e489m21/fesub.c index 04c0bf832..63e733cb7 100644 --- a/src/Specific/solinas64_2e489m21/fesub.c +++ b/src/Specific/solinas64_2e489m21/fesub.c @@ -17,7 +17,7 @@ static void fesub(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) { const uint64_t x25 = in2[2]; { const uint64_t x23 = in2[1]; { const uint64_t x21 = in2[0]; - out[0] = ((Const 72057594037927894 + x5) - x21); + out[0] = ((0xffffffffffffd6 + x5) - x21); out[1] = ((0x7ffffffffffffe + x7) - x23); out[2] = ((0x7ffffffffffffe + x9) - x25); out[3] = ((0xfffffffffffffe + x11) - x27); diff --git a/src/Specific/solinas64_2e489m21/fesubDisplay.log b/src/Specific/solinas64_2e489m21/fesubDisplay.log index 344635c53..c0892d044 100644 --- a/src/Specific/solinas64_2e489m21/fesubDisplay.log +++ b/src/Specific/solinas64_2e489m21/fesubDisplay.log @@ -2,6 +2,6 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - (((0x7ffffffffffffe + x18) - x34), ((0x7ffffffffffffe + x19) - x35), ((0xfffffffffffffe + x17) - x33), ((0x7ffffffffffffe + x15) - x31), ((0x7ffffffffffffe + x13) - x29), ((0xfffffffffffffe + x11) - x27), ((0x7ffffffffffffe + x9) - x25), ((0x7ffffffffffffe + x7) - x23), ((Const 72057594037927894 + x5) - x21))) + (((0x7ffffffffffffe + x18) - x34), ((0x7ffffffffffffe + x19) - x35), ((0xfffffffffffffe + x17) - x33), ((0x7ffffffffffffe + x15) - x31), ((0x7ffffffffffffe + x13) - x29), ((0xfffffffffffffe + x11) - x27), ((0x7ffffffffffffe + x9) - x25), ((0x7ffffffffffffe + x7) - x23), ((0xffffffffffffd6 + x5) - x21))) (x, x0)%core : 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) diff --git a/src/Specific/solinas64_2e495m31/fesub.c b/src/Specific/solinas64_2e495m31/fesub.c index 1b21b6625..dbdb67e21 100644 --- a/src/Specific/solinas64_2e495m31/fesub.c +++ b/src/Specific/solinas64_2e495m31/fesub.c @@ -17,7 +17,7 @@ static void fesub(uint64_t out[9], const uint64_t in1[9], const uint64_t in2[9]) { const uint64_t x25 = in2[2]; { const uint64_t x23 = in2[1]; { const uint64_t x21 = in2[0]; - out[0] = ((Const 72057594037927874 + x5) - x21); + out[0] = ((0xffffffffffffc2 + x5) - x21); out[1] = ((0xfffffffffffffe + x7) - x23); out[2] = ((0xfffffffffffffe + x9) - x25); out[3] = ((0xfffffffffffffe + x11) - x27); diff --git a/src/Specific/solinas64_2e495m31/fesubDisplay.log b/src/Specific/solinas64_2e495m31/fesubDisplay.log index 38dbcb96e..c24c0f28a 100644 --- a/src/Specific/solinas64_2e495m31/fesubDisplay.log +++ b/src/Specific/solinas64_2e495m31/fesubDisplay.log @@ -2,6 +2,6 @@ Interp-η (λ var : Syntax.base_type → Type, λ '(x18, x19, x17, x15, x13, x11, x9, x7, x5, (x34, x35, x33, x31, x29, x27, x25, x23, x21))%core, - (((0xfffffffffffffe + x18) - x34), ((0xfffffffffffffe + x19) - x35), ((0xfffffffffffffe + x17) - x33), ((0xfffffffffffffe + x15) - x31), ((0xfffffffffffffe + x13) - x29), ((0xfffffffffffffe + x11) - x27), ((0xfffffffffffffe + x9) - x25), ((0xfffffffffffffe + x7) - x23), ((Const 72057594037927874 + x5) - x21))) + (((0xfffffffffffffe + x18) - x34), ((0xfffffffffffffe + x19) - x35), ((0xfffffffffffffe + x17) - x33), ((0xfffffffffffffe + x15) - x31), ((0xfffffffffffffe + x13) - x29), ((0xfffffffffffffe + x11) - x27), ((0xfffffffffffffe + x9) - x25), ((0xfffffffffffffe + x7) - x23), ((0xffffffffffffc2 + x5) - x21))) (x, x0)%core : 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) diff --git a/src/Specific/solinas64_2e510m290x2e496m1/feadd.c b/src/Specific/solinas64_2e510m290x2e496m1/feadd.c new file mode 100644 index 000000000..df991e375 --- /dev/null +++ b/src/Specific/solinas64_2e510m290x2e496m1/feadd.c @@ -0,0 +1,33 @@ +static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) { + { const uint64_t x20 = 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 x38 = in2[9]; + { const uint64_t x39 = in2[8]; + { const uint64_t x37 = in2[7]; + { const uint64_t x35 = in2[6]; + { const uint64_t x33 = in2[5]; + { const uint64_t x31 = in2[4]; + { const uint64_t x29 = in2[3]; + { const uint64_t x27 = in2[2]; + { const uint64_t x25 = in2[1]; + { const uint64_t x23 = in2[0]; + out[0] = (x5 + x23); + out[1] = (x7 + x25); + out[2] = (x9 + x27); + out[3] = (x11 + x29); + out[4] = (x13 + x31); + out[5] = (x15 + x33); + out[6] = (x17 + x35); + out[7] = (x19 + x37); + out[8] = (x21 + x39); + out[9] = (x20 + x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas64_2e510m290x2e496m1/feaddDisplay.log b/src/Specific/solinas64_2e510m290x2e496m1/feaddDisplay.log new file mode 100644 index 000000000..04176128e --- /dev/null +++ b/src/Specific/solinas64_2e510m290x2e496m1/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas64_2e510m290x2e496m1/fesub.c b/src/Specific/solinas64_2e510m290x2e496m1/fesub.c new file mode 100644 index 000000000..8fdc0e205 --- /dev/null +++ b/src/Specific/solinas64_2e510m290x2e496m1/fesub.c @@ -0,0 +1,33 @@ +static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) { + { const uint64_t x20 = 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 x38 = in2[9]; + { const uint64_t x39 = in2[8]; + { const uint64_t x37 = in2[7]; + { const uint64_t x35 = in2[6]; + { const uint64_t x33 = in2[5]; + { const uint64_t x31 = in2[4]; + { const uint64_t x29 = in2[3]; + { const uint64_t x27 = in2[2]; + { const uint64_t x25 = in2[1]; + { const uint64_t x23 = in2[0]; + out[0] = ((0xffffffffffffe + x5) - x23); + out[1] = ((0xffffffffffffe + x7) - x25); + out[2] = ((0xffffffffffffe + x9) - x27); + out[3] = ((0xffffffffffffe + x11) - x29); + out[4] = ((0xffffffffffffe + x13) - x31); + out[5] = ((0xffffffffffffe + x15) - x33); + out[6] = ((0xffffffffffffe + x17) - x35); + out[7] = ((0xffffffffffffe + x19) - x37); + out[8] = ((0xffffffffffffe + x21) - x39); + out[9] = ((Const 4423885034356734 + x20) - x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas64_2e510m290x2e496m1/fesubDisplay.log b/src/Specific/solinas64_2e510m290x2e496m1/fesubDisplay.log new file mode 100644 index 000000000..48656a92f --- /dev/null +++ b/src/Specific/solinas64_2e510m290x2e496m1/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + (((Const 4423885034356734 + x20) - x38), ((0xffffffffffffe + x21) - x39), ((0xffffffffffffe + x19) - x37), ((0xffffffffffffe + x17) - x35), ((0xffffffffffffe + x15) - x33), ((0xffffffffffffe + x13) - x31), ((0xffffffffffffe + x11) - x29), ((0xffffffffffffe + x9) - x27), ((0xffffffffffffe + x7) - x25), ((0xffffffffffffe + x5) - x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas64_2e511m187/feadd.c b/src/Specific/solinas64_2e511m187/feadd.c new file mode 100644 index 000000000..df991e375 --- /dev/null +++ b/src/Specific/solinas64_2e511m187/feadd.c @@ -0,0 +1,33 @@ +static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) { + { const uint64_t x20 = 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 x38 = in2[9]; + { const uint64_t x39 = in2[8]; + { const uint64_t x37 = in2[7]; + { const uint64_t x35 = in2[6]; + { const uint64_t x33 = in2[5]; + { const uint64_t x31 = in2[4]; + { const uint64_t x29 = in2[3]; + { const uint64_t x27 = in2[2]; + { const uint64_t x25 = in2[1]; + { const uint64_t x23 = in2[0]; + out[0] = (x5 + x23); + out[1] = (x7 + x25); + out[2] = (x9 + x27); + out[3] = (x11 + x29); + out[4] = (x13 + x31); + out[5] = (x15 + x33); + out[6] = (x17 + x35); + out[7] = (x19 + x37); + out[8] = (x21 + x39); + out[9] = (x20 + x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas64_2e511m187/feaddDisplay.log b/src/Specific/solinas64_2e511m187/feaddDisplay.log new file mode 100644 index 000000000..04176128e --- /dev/null +++ b/src/Specific/solinas64_2e511m187/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas64_2e511m187/fesub.c b/src/Specific/solinas64_2e511m187/fesub.c new file mode 100644 index 000000000..910b57602 --- /dev/null +++ b/src/Specific/solinas64_2e511m187/fesub.c @@ -0,0 +1,33 @@ +static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) { + { const uint64_t x20 = 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 x38 = in2[9]; + { const uint64_t x39 = in2[8]; + { const uint64_t x37 = in2[7]; + { const uint64_t x35 = in2[6]; + { const uint64_t x33 = in2[5]; + { const uint64_t x31 = in2[4]; + { const uint64_t x29 = in2[3]; + { const uint64_t x27 = in2[2]; + { const uint64_t x25 = in2[1]; + { const uint64_t x23 = in2[0]; + out[0] = ((Const 9007199254740618 + x5) - x23); + out[1] = ((0xffffffffffffe + x7) - x25); + out[2] = ((0xffffffffffffe + x9) - x27); + out[3] = ((0xffffffffffffe + x11) - x29); + out[4] = ((0xffffffffffffe + x13) - x31); + out[5] = ((0xffffffffffffe + x15) - x33); + out[6] = ((0xffffffffffffe + x17) - x35); + out[7] = ((0xffffffffffffe + x19) - x37); + out[8] = ((0xffffffffffffe + x21) - x39); + out[9] = ((0xffffffffffffe + x20) - x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas64_2e511m187/fesubDisplay.log b/src/Specific/solinas64_2e511m187/fesubDisplay.log new file mode 100644 index 000000000..69fbf1fc5 --- /dev/null +++ b/src/Specific/solinas64_2e511m187/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + (((0xffffffffffffe + x20) - x38), ((0xffffffffffffe + x21) - x39), ((0xffffffffffffe + x19) - x37), ((0xffffffffffffe + x17) - x35), ((0xffffffffffffe + x15) - x33), ((0xffffffffffffe + x13) - x31), ((0xffffffffffffe + x11) - x29), ((0xffffffffffffe + x9) - x27), ((0xffffffffffffe + x7) - x25), ((Const 9007199254740618 + x5) - x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas64_2e511m481/feadd.c b/src/Specific/solinas64_2e511m481/feadd.c new file mode 100644 index 000000000..df991e375 --- /dev/null +++ b/src/Specific/solinas64_2e511m481/feadd.c @@ -0,0 +1,33 @@ +static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) { + { const uint64_t x20 = 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 x38 = in2[9]; + { const uint64_t x39 = in2[8]; + { const uint64_t x37 = in2[7]; + { const uint64_t x35 = in2[6]; + { const uint64_t x33 = in2[5]; + { const uint64_t x31 = in2[4]; + { const uint64_t x29 = in2[3]; + { const uint64_t x27 = in2[2]; + { const uint64_t x25 = in2[1]; + { const uint64_t x23 = in2[0]; + out[0] = (x5 + x23); + out[1] = (x7 + x25); + out[2] = (x9 + x27); + out[3] = (x11 + x29); + out[4] = (x13 + x31); + out[5] = (x15 + x33); + out[6] = (x17 + x35); + out[7] = (x19 + x37); + out[8] = (x21 + x39); + out[9] = (x20 + x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas64_2e511m481/feaddDisplay.log b/src/Specific/solinas64_2e511m481/feaddDisplay.log new file mode 100644 index 000000000..04176128e --- /dev/null +++ b/src/Specific/solinas64_2e511m481/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas64_2e511m481/fesub.c b/src/Specific/solinas64_2e511m481/fesub.c new file mode 100644 index 000000000..1ee8b94fb --- /dev/null +++ b/src/Specific/solinas64_2e511m481/fesub.c @@ -0,0 +1,33 @@ +static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) { + { const uint64_t x20 = 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 x38 = in2[9]; + { const uint64_t x39 = in2[8]; + { const uint64_t x37 = in2[7]; + { const uint64_t x35 = in2[6]; + { const uint64_t x33 = in2[5]; + { const uint64_t x31 = in2[4]; + { const uint64_t x29 = in2[3]; + { const uint64_t x27 = in2[2]; + { const uint64_t x25 = in2[1]; + { const uint64_t x23 = in2[0]; + out[0] = ((Const 9007199254740030 + x5) - x23); + out[1] = ((0xffffffffffffe + x7) - x25); + out[2] = ((0xffffffffffffe + x9) - x27); + out[3] = ((0xffffffffffffe + x11) - x29); + out[4] = ((0xffffffffffffe + x13) - x31); + out[5] = ((0xffffffffffffe + x15) - x33); + out[6] = ((0xffffffffffffe + x17) - x35); + out[7] = ((0xffffffffffffe + x19) - x37); + out[8] = ((0xffffffffffffe + x21) - x39); + out[9] = ((0xffffffffffffe + x20) - x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas64_2e511m481/fesubDisplay.log b/src/Specific/solinas64_2e511m481/fesubDisplay.log new file mode 100644 index 000000000..c5d4a9efe --- /dev/null +++ b/src/Specific/solinas64_2e511m481/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + (((0xffffffffffffe + x20) - x38), ((0xffffffffffffe + x21) - x39), ((0xffffffffffffe + x19) - x37), ((0xffffffffffffe + x17) - x35), ((0xffffffffffffe + x15) - x33), ((0xffffffffffffe + x13) - x31), ((0xffffffffffffe + x11) - x29), ((0xffffffffffffe + x9) - x27), ((0xffffffffffffe + x7) - x25), ((Const 9007199254740030 + x5) - x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas64_2e512m491x2e496m1/feadd.c b/src/Specific/solinas64_2e512m491x2e496m1/feadd.c new file mode 100644 index 000000000..df991e375 --- /dev/null +++ b/src/Specific/solinas64_2e512m491x2e496m1/feadd.c @@ -0,0 +1,33 @@ +static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) { + { const uint64_t x20 = 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 x38 = in2[9]; + { const uint64_t x39 = in2[8]; + { const uint64_t x37 = in2[7]; + { const uint64_t x35 = in2[6]; + { const uint64_t x33 = in2[5]; + { const uint64_t x31 = in2[4]; + { const uint64_t x29 = in2[3]; + { const uint64_t x27 = in2[2]; + { const uint64_t x25 = in2[1]; + { const uint64_t x23 = in2[0]; + out[0] = (x5 + x23); + out[1] = (x7 + x25); + out[2] = (x9 + x27); + out[3] = (x11 + x29); + out[4] = (x13 + x31); + out[5] = (x15 + x33); + out[6] = (x17 + x35); + out[7] = (x19 + x37); + out[8] = (x21 + x39); + out[9] = (x20 + x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas64_2e512m491x2e496m1/feaddDisplay.log b/src/Specific/solinas64_2e512m491x2e496m1/feaddDisplay.log new file mode 100644 index 000000000..04176128e --- /dev/null +++ b/src/Specific/solinas64_2e512m491x2e496m1/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas64_2e512m491x2e496m1/fesub.c b/src/Specific/solinas64_2e512m491x2e496m1/fesub.c new file mode 100644 index 000000000..15300a2aa --- /dev/null +++ b/src/Specific/solinas64_2e512m491x2e496m1/fesub.c @@ -0,0 +1,33 @@ +static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) { + { const uint64_t x20 = 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 x38 = in2[9]; + { const uint64_t x39 = in2[8]; + { const uint64_t x37 = in2[7]; + { const uint64_t x35 = in2[6]; + { const uint64_t x33 = in2[5]; + { const uint64_t x31 = in2[4]; + { const uint64_t x29 = in2[3]; + { const uint64_t x27 = in2[2]; + { const uint64_t x25 = in2[1]; + { const uint64_t x23 = in2[0]; + out[0] = ((0x1ffffffffffffe + x5) - x23); + out[1] = ((0xffffffffffffe + x7) - x25); + out[2] = ((0xffffffffffffe + x9) - x27); + out[3] = ((0xffffffffffffe + x11) - x29); + out[4] = ((0xffffffffffffe + x13) - x31); + out[5] = ((0x1ffffffffffffe + x15) - x33); + out[6] = ((0xffffffffffffe + x17) - x35); + out[7] = ((0xffffffffffffe + x19) - x37); + out[8] = ((0xffffffffffffe + x21) - x39); + out[9] = ((Const 4469858364293118 + x20) - x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas64_2e512m491x2e496m1/fesubDisplay.log b/src/Specific/solinas64_2e512m491x2e496m1/fesubDisplay.log new file mode 100644 index 000000000..ab11c7015 --- /dev/null +++ b/src/Specific/solinas64_2e512m491x2e496m1/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + (((Const 4469858364293118 + x20) - x38), ((0xffffffffffffe + x21) - x39), ((0xffffffffffffe + x19) - x37), ((0xffffffffffffe + x17) - x35), ((0x1ffffffffffffe + x15) - x33), ((0xffffffffffffe + x13) - x31), ((0xffffffffffffe + x11) - x29), ((0xffffffffffffe + x9) - x27), ((0xffffffffffffe + x7) - x25), ((0x1ffffffffffffe + x5) - x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas64_2e512m569/feadd.c b/src/Specific/solinas64_2e512m569/feadd.c new file mode 100644 index 000000000..df991e375 --- /dev/null +++ b/src/Specific/solinas64_2e512m569/feadd.c @@ -0,0 +1,33 @@ +static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) { + { const uint64_t x20 = 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 x38 = in2[9]; + { const uint64_t x39 = in2[8]; + { const uint64_t x37 = in2[7]; + { const uint64_t x35 = in2[6]; + { const uint64_t x33 = in2[5]; + { const uint64_t x31 = in2[4]; + { const uint64_t x29 = in2[3]; + { const uint64_t x27 = in2[2]; + { const uint64_t x25 = in2[1]; + { const uint64_t x23 = in2[0]; + out[0] = (x5 + x23); + out[1] = (x7 + x25); + out[2] = (x9 + x27); + out[3] = (x11 + x29); + out[4] = (x13 + x31); + out[5] = (x15 + x33); + out[6] = (x17 + x35); + out[7] = (x19 + x37); + out[8] = (x21 + x39); + out[9] = (x20 + x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas64_2e512m569/feaddDisplay.log b/src/Specific/solinas64_2e512m569/feaddDisplay.log new file mode 100644 index 000000000..04176128e --- /dev/null +++ b/src/Specific/solinas64_2e512m569/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas64_2e512m569/fesub.c b/src/Specific/solinas64_2e512m569/fesub.c new file mode 100644 index 000000000..cb3077371 --- /dev/null +++ b/src/Specific/solinas64_2e512m569/fesub.c @@ -0,0 +1,33 @@ +static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) { + { const uint64_t x20 = 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 x38 = in2[9]; + { const uint64_t x39 = in2[8]; + { const uint64_t x37 = in2[7]; + { const uint64_t x35 = in2[6]; + { const uint64_t x33 = in2[5]; + { const uint64_t x31 = in2[4]; + { const uint64_t x29 = in2[3]; + { const uint64_t x27 = in2[2]; + { const uint64_t x25 = in2[1]; + { const uint64_t x23 = in2[0]; + out[0] = ((Const 9007199254739854 + x5) - x23); + out[1] = ((0xffffffffffffe + x7) - x25); + out[2] = ((0xffffffffffffe + x9) - x27); + out[3] = ((0xffffffffffffe + x11) - x29); + out[4] = ((0xffffffffffffe + x13) - x31); + out[5] = ((0x1ffffffffffffe + x15) - x33); + out[6] = ((0xffffffffffffe + x17) - x35); + out[7] = ((0xffffffffffffe + x19) - x37); + out[8] = ((0xffffffffffffe + x21) - x39); + out[9] = ((0xffffffffffffe + x20) - x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas64_2e512m569/fesubDisplay.log b/src/Specific/solinas64_2e512m569/fesubDisplay.log new file mode 100644 index 000000000..8471d38e7 --- /dev/null +++ b/src/Specific/solinas64_2e512m569/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + (((0xffffffffffffe + x20) - x38), ((0xffffffffffffe + x21) - x39), ((0xffffffffffffe + x19) - x37), ((0xffffffffffffe + x17) - x35), ((0x1ffffffffffffe + x15) - x33), ((0xffffffffffffe + x13) - x31), ((0xffffffffffffe + x11) - x29), ((0xffffffffffffe + x9) - x27), ((0xffffffffffffe + x7) - x25), ((Const 9007199254739854 + x5) - x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas64_2e521m1/feadd.c b/src/Specific/solinas64_2e521m1/feadd.c new file mode 100644 index 000000000..df991e375 --- /dev/null +++ b/src/Specific/solinas64_2e521m1/feadd.c @@ -0,0 +1,33 @@ +static void feadd(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) { + { const uint64_t x20 = 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 x38 = in2[9]; + { const uint64_t x39 = in2[8]; + { const uint64_t x37 = in2[7]; + { const uint64_t x35 = in2[6]; + { const uint64_t x33 = in2[5]; + { const uint64_t x31 = in2[4]; + { const uint64_t x29 = in2[3]; + { const uint64_t x27 = in2[2]; + { const uint64_t x25 = in2[1]; + { const uint64_t x23 = in2[0]; + out[0] = (x5 + x23); + out[1] = (x7 + x25); + out[2] = (x9 + x27); + out[3] = (x11 + x29); + out[4] = (x13 + x31); + out[5] = (x15 + x33); + out[6] = (x17 + x35); + out[7] = (x19 + x37); + out[8] = (x21 + x39); + out[9] = (x20 + x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas64_2e521m1/feaddDisplay.log b/src/Specific/solinas64_2e521m1/feaddDisplay.log new file mode 100644 index 000000000..04176128e --- /dev/null +++ b/src/Specific/solinas64_2e521m1/feaddDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + ((x20 + x38), (x21 + x39), (x19 + x37), (x17 + x35), (x15 + x33), (x13 + x31), (x11 + x29), (x9 + x27), (x7 + x25), (x5 + x23))) +(x, x0)%core + : 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) diff --git a/src/Specific/solinas64_2e521m1/fesub.c b/src/Specific/solinas64_2e521m1/fesub.c new file mode 100644 index 000000000..4557332c9 --- /dev/null +++ b/src/Specific/solinas64_2e521m1/fesub.c @@ -0,0 +1,33 @@ +static void fesub(uint64_t out[10], const uint64_t in1[10], const uint64_t in2[10]) { + { const uint64_t x20 = 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 x38 = in2[9]; + { const uint64_t x39 = in2[8]; + { const uint64_t x37 = in2[7]; + { const uint64_t x35 = in2[6]; + { const uint64_t x33 = in2[5]; + { const uint64_t x31 = in2[4]; + { const uint64_t x29 = in2[3]; + { const uint64_t x27 = in2[2]; + { const uint64_t x25 = in2[1]; + { const uint64_t x23 = in2[0]; + out[0] = ((0x3ffffffffffffe + x5) - x23); + out[1] = ((0x1ffffffffffffe + x7) - x25); + out[2] = ((0x1ffffffffffffe + x9) - x27); + out[3] = ((0x1ffffffffffffe + x11) - x29); + out[4] = ((0x1ffffffffffffe + x13) - x31); + out[5] = ((0x1ffffffffffffe + x15) - x33); + out[6] = ((0x1ffffffffffffe + x17) - x35); + out[7] = ((0x1ffffffffffffe + x19) - x37); + out[8] = ((0x1ffffffffffffe + x21) - x39); + out[9] = ((0x1ffffffffffffe + x20) - x38); + }}}}}}}}}}}}}}}}}}}} +} diff --git a/src/Specific/solinas64_2e521m1/fesubDisplay.log b/src/Specific/solinas64_2e521m1/fesubDisplay.log new file mode 100644 index 000000000..d3c4adbc3 --- /dev/null +++ b/src/Specific/solinas64_2e521m1/fesubDisplay.log @@ -0,0 +1,7 @@ +λ x x0 : word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64 * word64, +Interp-η +(λ var : Syntax.base_type → Type, + λ '(x20, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x38, x39, x37, x35, x33, x31, x29, x27, x25, x23))%core, + (((0x1ffffffffffffe + x20) - x38), ((0x1ffffffffffffe + x21) - x39), ((0x1ffffffffffffe + x19) - x37), ((0x1ffffffffffffe + x17) - x35), ((0x1ffffffffffffe + x15) - x33), ((0x1ffffffffffffe + x13) - x31), ((0x1ffffffffffffe + x11) - x29), ((0x1ffffffffffffe + x9) - x27), ((0x1ffffffffffffe + x7) - x25), ((0x3ffffffffffffe + x5) - x23))) +(x, x0)%core + : 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) |