aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-11-01 23:11:41 -0400
committerGravatar Jason Gross <jgross@mit.edu>2017-11-01 23:11:41 -0400
commitb0ee1d0e200654042e52cd125a7a07884026aa98 (patch)
treea1788cf0436a712ce531119c863712cd4c3f46e1
parent3e808d79ad4ff9be1d538f6de8ff531da545b80d (diff)
Update display logs
-rw-r--r--src/Specific/montgomery32_2e322m2e161m1/feaddDisplay.log41
-rw-r--r--src/Specific/montgomery32_2e336m3/feaddDisplay.log41
-rw-r--r--src/Specific/montgomery32_2e338m15/feaddDisplay.log41
-rw-r--r--src/Specific/montgomery32_2e369m25/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e379m19/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e382m105/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e383m187/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e383m31/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e383m421/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e384m2e128m2e96p2e32m1/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e384m317/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e384m5x2e368m1/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e384m79x2e376m1/feaddDisplay.log44
-rw-r--r--src/Specific/montgomery32_2e389m21/feaddDisplay.log47
-rw-r--r--src/Specific/montgomery32_2e401m31/feaddDisplay.log47
-rw-r--r--src/Specific/montgomery32_2e413m21/feaddDisplay.log47
-rw-r--r--src/Specific/montgomery32_2e414m17/feaddDisplay.log47
-rw-r--r--src/Specific/montgomery32_2e416m2e208m1/feaddDisplay.log47
-rw-r--r--src/Specific/montgomery32_2e444m17/feaddDisplay.log50
-rw-r--r--src/Specific/montgomery32_2e448m2e224m1/feaddDisplay.log50
-rw-r--r--src/Specific/montgomery32_2e450m2e225m1/feaddDisplay.log53
-rw-r--r--src/Specific/montgomery32_2e452m3/feaddDisplay.log53
-rw-r--r--src/Specific/montgomery32_2e468m17/feaddDisplay.log53
-rw-r--r--src/Specific/montgomery32_2e480m2e240m1/feaddDisplay.log53
-rw-r--r--src/Specific/solinas32_2e206m5/femulDisplay.log84
-rw-r--r--src/Specific/solinas32_2e206m5/fesquareDisplay.log84
-rw-r--r--src/Specific/solinas32_2e206m5/freezeDisplay.log24
-rw-r--r--src/Specific/solinas32_2e213m3/femulDisplay.log72
-rw-r--r--src/Specific/solinas32_2e213m3/fesquareDisplay.log72
-rw-r--r--src/Specific/solinas32_2e213m3/freezeDisplay.log53
-rw-r--r--src/Specific/solinas32_2e255m765/femulDisplay.log126
-rw-r--r--src/Specific/solinas32_2e255m765/fesquareDisplay.log126
-rw-r--r--src/Specific/solinas32_2e255m765/freezeDisplay.log91
-rw-r--r--src/Specific/solinas32_2e256m189/femulDisplay.log104
-rw-r--r--src/Specific/solinas32_2e256m189/fesquareDisplay.log104
-rw-r--r--src/Specific/solinas32_2e256m189/freezeDisplay.log24
-rw-r--r--src/Specific/solinas32_2e256m2e224p2e192p2e96m1/freezeDisplay.log16
-rw-r--r--src/Specific/solinas32_2e256m2e32m977/femulDisplay.log71
-rw-r--r--src/Specific/solinas32_2e256m2e32m977/fesquareDisplay.log71
-rw-r--r--src/Specific/solinas32_2e256m2e32m977/freezeDisplay.log91
-rw-r--r--src/Specific/solinas32_2e256m88x2e240m1/freezeDisplay.log44
-rw-r--r--src/Specific/solinas32_2e266m3/femulDisplay.log84
-rw-r--r--src/Specific/solinas32_2e266m3/fesquareDisplay.log84
-rw-r--r--src/Specific/solinas32_2e266m3/freezeDisplay.log24
-rw-r--r--src/Specific/solinas32_2e285m9/femulDisplay.log102
-rw-r--r--src/Specific/solinas32_2e285m9/fesquareDisplay.log102
-rw-r--r--src/Specific/solinas32_2e285m9/freezeDisplay.log30
-rw-r--r--src/Specific/solinas32_2e291m19/femulDisplay.log106
-rw-r--r--src/Specific/solinas32_2e291m19/fesquareDisplay.log106
-rw-r--r--src/Specific/solinas32_2e291m19/freezeDisplay.log24
-rw-r--r--src/Specific/solinas32_2e321m9/fesquareDisplay.log108
-rw-r--r--src/Specific/solinas32_2e321m9/freezeDisplay.log32
-rw-r--r--src/Specific/solinas32_2e322m2e161m1/femulDisplay.log91
-rw-r--r--src/Specific/solinas32_2e322m2e161m1/fesquareDisplay.log91
-rw-r--r--src/Specific/solinas32_2e322m2e161m1/freezeDisplay.log28
-rw-r--r--src/Specific/solinas32_2e336m17/femulDisplay.log120
-rw-r--r--src/Specific/solinas32_2e336m17/fesquareDisplay.log120
-rw-r--r--src/Specific/solinas32_2e336m17/freezeDisplay.log28
-rw-r--r--src/Specific/solinas32_2e336m3/femulDisplay.log122
-rw-r--r--src/Specific/solinas32_2e336m3/fesquareDisplay.log122
-rw-r--r--src/Specific/solinas32_2e336m3/freezeDisplay.log88
-rw-r--r--src/Specific/solinas32_2e338m15/femulDisplay.log126
-rw-r--r--src/Specific/solinas32_2e338m15/fesquareDisplay.log126
-rw-r--r--src/Specific/solinas32_2e338m15/freezeDisplay.log91
-rw-r--r--src/Specific/solinas32_2e450m2e225m1/freezeDisplay.log103
65 files changed, 3011 insertions, 1414 deletions
diff --git a/src/Specific/montgomery32_2e322m2e161m1/feaddDisplay.log b/src/Specific/montgomery32_2e322m2e161m1/feaddDisplay.log
new file mode 100644
index 000000000..416108c0f
--- /dev/null
+++ b/src/Specific/montgomery32_2e322m2e161m1/feaddDisplay.log
@@ -0,0 +1,41 @@
+λ 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,
+ uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x5, x25);
+ uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x7, x27);
+ uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x9, x29);
+ uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x11, x31);
+ uint32_t x57, uint8_t x58 = addcarryx_u32(x55, x13, x33);
+ uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x15, x35);
+ uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x17, x37);
+ uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x19, x39);
+ uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x21, x41);
+ uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x23, x43);
+ uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x22, x42);
+ uint32_t x78, uint8_t x79 = subborrow_u32(0x0, x45, 0xffffffff);
+ uint32_t x81, uint8_t x82 = subborrow_u32(x79, x48, 0xffffffff);
+ uint32_t x84, uint8_t x85 = subborrow_u32(x82, x51, 0xffffffff);
+ uint32_t x87, uint8_t x88 = subborrow_u32(x85, x54, 0xffffffff);
+ uint32_t x90, uint8_t x91 = subborrow_u32(x88, x57, 0xffffffff);
+ uint32_t x93, uint8_t x94 = subborrow_u32(x91, x60, 0xfffffffd);
+ uint32_t x96, uint8_t x97 = subborrow_u32(x94, x63, 0xffffffff);
+ uint32_t x99, uint8_t x100 = subborrow_u32(x97, x66, 0xffffffff);
+ uint32_t x102, uint8_t x103 = subborrow_u32(x100, x69, 0xffffffff);
+ uint32_t x105, uint8_t x106 = subborrow_u32(x103, x72, 0xffffffff);
+ uint32_t x108, uint8_t x109 = subborrow_u32(x106, x75, 0x3);
+ uint32_t _, uint8_t x112 = subborrow_u32(x109, x76, 0x0);
+ uint32_t x113 = cmovznz(x112, x108, x75);
+ uint32_t x114 = cmovznz(x112, x105, x72);
+ uint32_t x115 = cmovznz(x112, x102, x69);
+ uint32_t x116 = cmovznz(x112, x99, x66);
+ uint32_t x117 = cmovznz(x112, x96, x63);
+ uint32_t x118 = cmovznz(x112, x93, x60);
+ uint32_t x119 = cmovznz(x112, x90, x57);
+ uint32_t x120 = cmovznz(x112, x87, x54);
+ uint32_t x121 = cmovznz(x112, x84, x51);
+ uint32_t x122 = cmovznz(x112, x81, x48);
+ uint32_t x123 = cmovznz(x112, x78, x45);
+ return (x113, x114, x115, x116, x117, x118, x119, x120, x121, x122, x123))
+(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/montgomery32_2e336m3/feaddDisplay.log b/src/Specific/montgomery32_2e336m3/feaddDisplay.log
new file mode 100644
index 000000000..923194aff
--- /dev/null
+++ b/src/Specific/montgomery32_2e336m3/feaddDisplay.log
@@ -0,0 +1,41 @@
+λ 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,
+ uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x5, x25);
+ uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x7, x27);
+ uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x9, x29);
+ uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x11, x31);
+ uint32_t x57, uint8_t x58 = addcarryx_u32(x55, x13, x33);
+ uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x15, x35);
+ uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x17, x37);
+ uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x19, x39);
+ uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x21, x41);
+ uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x23, x43);
+ uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x22, x42);
+ uint32_t x78, uint8_t x79 = subborrow_u32(0x0, x45, 0xfffffffd);
+ uint32_t x81, uint8_t x82 = subborrow_u32(x79, x48, 0xffffffff);
+ uint32_t x84, uint8_t x85 = subborrow_u32(x82, x51, 0xffffffff);
+ uint32_t x87, uint8_t x88 = subborrow_u32(x85, x54, 0xffffffff);
+ uint32_t x90, uint8_t x91 = subborrow_u32(x88, x57, 0xffffffff);
+ uint32_t x93, uint8_t x94 = subborrow_u32(x91, x60, 0xffffffff);
+ uint32_t x96, uint8_t x97 = subborrow_u32(x94, x63, 0xffffffff);
+ uint32_t x99, uint8_t x100 = subborrow_u32(x97, x66, 0xffffffff);
+ uint32_t x102, uint8_t x103 = subborrow_u32(x100, x69, 0xffffffff);
+ uint32_t x105, uint8_t x106 = subborrow_u32(x103, x72, 0xffffffff);
+ uint32_t x108, uint8_t x109 = subborrow_u32(x106, x75, 0xffff);
+ uint32_t _, uint8_t x112 = subborrow_u32(x109, x76, 0x0);
+ uint32_t x113 = cmovznz(x112, x108, x75);
+ uint32_t x114 = cmovznz(x112, x105, x72);
+ uint32_t x115 = cmovznz(x112, x102, x69);
+ uint32_t x116 = cmovznz(x112, x99, x66);
+ uint32_t x117 = cmovznz(x112, x96, x63);
+ uint32_t x118 = cmovznz(x112, x93, x60);
+ uint32_t x119 = cmovznz(x112, x90, x57);
+ uint32_t x120 = cmovznz(x112, x87, x54);
+ uint32_t x121 = cmovznz(x112, x84, x51);
+ uint32_t x122 = cmovznz(x112, x81, x48);
+ uint32_t x123 = cmovznz(x112, x78, x45);
+ return (x113, x114, x115, x116, x117, x118, x119, x120, x121, x122, x123))
+(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/montgomery32_2e338m15/feaddDisplay.log b/src/Specific/montgomery32_2e338m15/feaddDisplay.log
new file mode 100644
index 000000000..16f42a0e8
--- /dev/null
+++ b/src/Specific/montgomery32_2e338m15/feaddDisplay.log
@@ -0,0 +1,41 @@
+λ 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,
+ uint32_t x45, uint8_t x46 = addcarryx_u32(0x0, x5, x25);
+ uint32_t x48, uint8_t x49 = addcarryx_u32(x46, x7, x27);
+ uint32_t x51, uint8_t x52 = addcarryx_u32(x49, x9, x29);
+ uint32_t x54, uint8_t x55 = addcarryx_u32(x52, x11, x31);
+ uint32_t x57, uint8_t x58 = addcarryx_u32(x55, x13, x33);
+ uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x15, x35);
+ uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x17, x37);
+ uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x19, x39);
+ uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x21, x41);
+ uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x23, x43);
+ uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x22, x42);
+ uint32_t x78, uint8_t x79 = subborrow_u32(0x0, x45, 0xfffffff1);
+ uint32_t x81, uint8_t x82 = subborrow_u32(x79, x48, 0xffffffff);
+ uint32_t x84, uint8_t x85 = subborrow_u32(x82, x51, 0xffffffff);
+ uint32_t x87, uint8_t x88 = subborrow_u32(x85, x54, 0xffffffff);
+ uint32_t x90, uint8_t x91 = subborrow_u32(x88, x57, 0xffffffff);
+ uint32_t x93, uint8_t x94 = subborrow_u32(x91, x60, 0xffffffff);
+ uint32_t x96, uint8_t x97 = subborrow_u32(x94, x63, 0xffffffff);
+ uint32_t x99, uint8_t x100 = subborrow_u32(x97, x66, 0xffffffff);
+ uint32_t x102, uint8_t x103 = subborrow_u32(x100, x69, 0xffffffff);
+ uint32_t x105, uint8_t x106 = subborrow_u32(x103, x72, 0xffffffff);
+ uint32_t x108, uint8_t x109 = subborrow_u32(x106, x75, 0x3ffff);
+ uint32_t _, uint8_t x112 = subborrow_u32(x109, x76, 0x0);
+ uint32_t x113 = cmovznz(x112, x108, x75);
+ uint32_t x114 = cmovznz(x112, x105, x72);
+ uint32_t x115 = cmovznz(x112, x102, x69);
+ uint32_t x116 = cmovznz(x112, x99, x66);
+ uint32_t x117 = cmovznz(x112, x96, x63);
+ uint32_t x118 = cmovznz(x112, x93, x60);
+ uint32_t x119 = cmovznz(x112, x90, x57);
+ uint32_t x120 = cmovznz(x112, x87, x54);
+ uint32_t x121 = cmovznz(x112, x84, x51);
+ uint32_t x122 = cmovznz(x112, x81, x48);
+ uint32_t x123 = cmovznz(x112, x78, x45);
+ return (x113, x114, x115, x116, x117, x118, x119, x120, x121, x122, x123))
+(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/montgomery32_2e369m25/feaddDisplay.log b/src/Specific/montgomery32_2e369m25/feaddDisplay.log
new file mode 100644
index 000000000..ef7da1f66
--- /dev/null
+++ b/src/Specific/montgomery32_2e369m25/feaddDisplay.log
@@ -0,0 +1,44 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
+ uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
+ uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
+ uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
+ uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
+ uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
+ uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
+ uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
+ uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
+ uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
+ uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
+ uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
+ uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
+ uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xffffffe7);
+ uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
+ uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
+ uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
+ uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
+ uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
+ uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
+ uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
+ uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
+ uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
+ uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
+ uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0x1ffff);
+ uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
+ uint32_t x123 = cmovznz(x122, x118, x82);
+ uint32_t x124 = cmovznz(x122, x115, x79);
+ uint32_t x125 = cmovznz(x122, x112, x76);
+ uint32_t x126 = cmovznz(x122, x109, x73);
+ uint32_t x127 = cmovznz(x122, x106, x70);
+ uint32_t x128 = cmovznz(x122, x103, x67);
+ uint32_t x129 = cmovznz(x122, x100, x64);
+ uint32_t x130 = cmovznz(x122, x97, x61);
+ uint32_t x131 = cmovznz(x122, x94, x58);
+ uint32_t x132 = cmovznz(x122, x91, x55);
+ uint32_t x133 = cmovznz(x122, x88, x52);
+ uint32_t x134 = cmovznz(x122, x85, x49);
+ return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e379m19/feaddDisplay.log b/src/Specific/montgomery32_2e379m19/feaddDisplay.log
new file mode 100644
index 000000000..0f517ce42
--- /dev/null
+++ b/src/Specific/montgomery32_2e379m19/feaddDisplay.log
@@ -0,0 +1,44 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
+ uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
+ uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
+ uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
+ uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
+ uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
+ uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
+ uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
+ uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
+ uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
+ uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
+ uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
+ uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
+ uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xffffffed);
+ uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
+ uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
+ uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
+ uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
+ uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
+ uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
+ uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
+ uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
+ uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
+ uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
+ uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0x7ffffff);
+ uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
+ uint32_t x123 = cmovznz(x122, x118, x82);
+ uint32_t x124 = cmovznz(x122, x115, x79);
+ uint32_t x125 = cmovznz(x122, x112, x76);
+ uint32_t x126 = cmovznz(x122, x109, x73);
+ uint32_t x127 = cmovznz(x122, x106, x70);
+ uint32_t x128 = cmovznz(x122, x103, x67);
+ uint32_t x129 = cmovznz(x122, x100, x64);
+ uint32_t x130 = cmovznz(x122, x97, x61);
+ uint32_t x131 = cmovznz(x122, x94, x58);
+ uint32_t x132 = cmovznz(x122, x91, x55);
+ uint32_t x133 = cmovznz(x122, x88, x52);
+ uint32_t x134 = cmovznz(x122, x85, x49);
+ return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e382m105/feaddDisplay.log b/src/Specific/montgomery32_2e382m105/feaddDisplay.log
new file mode 100644
index 000000000..de5e94157
--- /dev/null
+++ b/src/Specific/montgomery32_2e382m105/feaddDisplay.log
@@ -0,0 +1,44 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
+ uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
+ uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
+ uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
+ uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
+ uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
+ uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
+ uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
+ uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
+ uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
+ uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
+ uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
+ uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
+ uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, Const 4294967191);
+ uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
+ uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
+ uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
+ uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
+ uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
+ uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
+ uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
+ uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
+ uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
+ uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
+ uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0x3fffffff);
+ uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
+ uint32_t x123 = cmovznz(x122, x118, x82);
+ uint32_t x124 = cmovznz(x122, x115, x79);
+ uint32_t x125 = cmovznz(x122, x112, x76);
+ uint32_t x126 = cmovznz(x122, x109, x73);
+ uint32_t x127 = cmovznz(x122, x106, x70);
+ uint32_t x128 = cmovznz(x122, x103, x67);
+ uint32_t x129 = cmovznz(x122, x100, x64);
+ uint32_t x130 = cmovznz(x122, x97, x61);
+ uint32_t x131 = cmovznz(x122, x94, x58);
+ uint32_t x132 = cmovznz(x122, x91, x55);
+ uint32_t x133 = cmovznz(x122, x88, x52);
+ uint32_t x134 = cmovznz(x122, x85, x49);
+ return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e383m187/feaddDisplay.log b/src/Specific/montgomery32_2e383m187/feaddDisplay.log
new file mode 100644
index 000000000..c682c0f9f
--- /dev/null
+++ b/src/Specific/montgomery32_2e383m187/feaddDisplay.log
@@ -0,0 +1,44 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
+ uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
+ uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
+ uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
+ uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
+ uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
+ uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
+ uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
+ uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
+ uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
+ uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
+ uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
+ uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
+ uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, Const 4294967109);
+ uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
+ uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
+ uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
+ uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
+ uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
+ uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
+ uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
+ uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
+ uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
+ uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
+ uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0x7fffffff);
+ uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
+ uint32_t x123 = cmovznz(x122, x118, x82);
+ uint32_t x124 = cmovznz(x122, x115, x79);
+ uint32_t x125 = cmovznz(x122, x112, x76);
+ uint32_t x126 = cmovznz(x122, x109, x73);
+ uint32_t x127 = cmovznz(x122, x106, x70);
+ uint32_t x128 = cmovznz(x122, x103, x67);
+ uint32_t x129 = cmovznz(x122, x100, x64);
+ uint32_t x130 = cmovznz(x122, x97, x61);
+ uint32_t x131 = cmovznz(x122, x94, x58);
+ uint32_t x132 = cmovznz(x122, x91, x55);
+ uint32_t x133 = cmovznz(x122, x88, x52);
+ uint32_t x134 = cmovznz(x122, x85, x49);
+ return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e383m31/feaddDisplay.log b/src/Specific/montgomery32_2e383m31/feaddDisplay.log
new file mode 100644
index 000000000..a0150accc
--- /dev/null
+++ b/src/Specific/montgomery32_2e383m31/feaddDisplay.log
@@ -0,0 +1,44 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
+ uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
+ uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
+ uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
+ uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
+ uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
+ uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
+ uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
+ uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
+ uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
+ uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
+ uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
+ uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
+ uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, Const 4294967265);
+ uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
+ uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
+ uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
+ uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
+ uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
+ uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
+ uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
+ uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
+ uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
+ uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
+ uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0x7fffffff);
+ uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
+ uint32_t x123 = cmovznz(x122, x118, x82);
+ uint32_t x124 = cmovznz(x122, x115, x79);
+ uint32_t x125 = cmovznz(x122, x112, x76);
+ uint32_t x126 = cmovznz(x122, x109, x73);
+ uint32_t x127 = cmovznz(x122, x106, x70);
+ uint32_t x128 = cmovznz(x122, x103, x67);
+ uint32_t x129 = cmovznz(x122, x100, x64);
+ uint32_t x130 = cmovznz(x122, x97, x61);
+ uint32_t x131 = cmovznz(x122, x94, x58);
+ uint32_t x132 = cmovznz(x122, x91, x55);
+ uint32_t x133 = cmovznz(x122, x88, x52);
+ uint32_t x134 = cmovznz(x122, x85, x49);
+ return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e383m421/feaddDisplay.log b/src/Specific/montgomery32_2e383m421/feaddDisplay.log
new file mode 100644
index 000000000..425da6bf8
--- /dev/null
+++ b/src/Specific/montgomery32_2e383m421/feaddDisplay.log
@@ -0,0 +1,44 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
+ uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
+ uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
+ uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
+ uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
+ uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
+ uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
+ uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
+ uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
+ uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
+ uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
+ uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
+ uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
+ uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, Const 4294966875);
+ uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
+ uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
+ uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
+ uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
+ uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
+ uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
+ uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
+ uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
+ uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
+ uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
+ uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0x7fffffff);
+ uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
+ uint32_t x123 = cmovznz(x122, x118, x82);
+ uint32_t x124 = cmovznz(x122, x115, x79);
+ uint32_t x125 = cmovznz(x122, x112, x76);
+ uint32_t x126 = cmovznz(x122, x109, x73);
+ uint32_t x127 = cmovznz(x122, x106, x70);
+ uint32_t x128 = cmovznz(x122, x103, x67);
+ uint32_t x129 = cmovznz(x122, x100, x64);
+ uint32_t x130 = cmovznz(x122, x97, x61);
+ uint32_t x131 = cmovznz(x122, x94, x58);
+ uint32_t x132 = cmovznz(x122, x91, x55);
+ uint32_t x133 = cmovznz(x122, x88, x52);
+ uint32_t x134 = cmovznz(x122, x85, x49);
+ return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1/feaddDisplay.log b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1/feaddDisplay.log
new file mode 100644
index 000000000..07eb890d9
--- /dev/null
+++ b/src/Specific/montgomery32_2e384m2e128m2e96p2e32m1/feaddDisplay.log
@@ -0,0 +1,44 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
+ uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
+ uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
+ uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
+ uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
+ uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
+ uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
+ uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
+ uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
+ uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
+ uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
+ uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
+ uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
+ uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xffffffff);
+ uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0x0);
+ uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0x0);
+ uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
+ uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xfffffffe);
+ uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
+ uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
+ uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
+ uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
+ uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
+ uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
+ uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0xffffffff);
+ uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
+ uint32_t x123 = cmovznz(x122, x118, x82);
+ uint32_t x124 = cmovznz(x122, x115, x79);
+ uint32_t x125 = cmovznz(x122, x112, x76);
+ uint32_t x126 = cmovznz(x122, x109, x73);
+ uint32_t x127 = cmovznz(x122, x106, x70);
+ uint32_t x128 = cmovznz(x122, x103, x67);
+ uint32_t x129 = cmovznz(x122, x100, x64);
+ uint32_t x130 = cmovznz(x122, x97, x61);
+ uint32_t x131 = cmovznz(x122, x94, x58);
+ uint32_t x132 = cmovznz(x122, x91, x55);
+ uint32_t x133 = cmovznz(x122, x88, x52);
+ uint32_t x134 = cmovznz(x122, x85, x49);
+ return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e384m317/feaddDisplay.log b/src/Specific/montgomery32_2e384m317/feaddDisplay.log
new file mode 100644
index 000000000..eb46a645a
--- /dev/null
+++ b/src/Specific/montgomery32_2e384m317/feaddDisplay.log
@@ -0,0 +1,44 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
+ uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
+ uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
+ uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
+ uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
+ uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
+ uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
+ uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
+ uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
+ uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
+ uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
+ uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
+ uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
+ uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, Const 4294966979);
+ uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
+ uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
+ uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
+ uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
+ uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
+ uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
+ uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
+ uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
+ uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
+ uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
+ uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, 0xffffffff);
+ uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
+ uint32_t x123 = cmovznz(x122, x118, x82);
+ uint32_t x124 = cmovznz(x122, x115, x79);
+ uint32_t x125 = cmovznz(x122, x112, x76);
+ uint32_t x126 = cmovznz(x122, x109, x73);
+ uint32_t x127 = cmovznz(x122, x106, x70);
+ uint32_t x128 = cmovznz(x122, x103, x67);
+ uint32_t x129 = cmovznz(x122, x100, x64);
+ uint32_t x130 = cmovznz(x122, x97, x61);
+ uint32_t x131 = cmovznz(x122, x94, x58);
+ uint32_t x132 = cmovznz(x122, x91, x55);
+ uint32_t x133 = cmovznz(x122, x88, x52);
+ uint32_t x134 = cmovznz(x122, x85, x49);
+ return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e384m5x2e368m1/feaddDisplay.log b/src/Specific/montgomery32_2e384m5x2e368m1/feaddDisplay.log
new file mode 100644
index 000000000..7fde96345
--- /dev/null
+++ b/src/Specific/montgomery32_2e384m5x2e368m1/feaddDisplay.log
@@ -0,0 +1,44 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
+ uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
+ uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
+ uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
+ uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
+ uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
+ uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
+ uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
+ uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
+ uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
+ uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
+ uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
+ uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
+ uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xffffffff);
+ uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
+ uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
+ uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
+ uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
+ uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
+ uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
+ uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
+ uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
+ uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
+ uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
+ uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, Const 4294639615);
+ uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
+ uint32_t x123 = cmovznz(x122, x118, x82);
+ uint32_t x124 = cmovznz(x122, x115, x79);
+ uint32_t x125 = cmovznz(x122, x112, x76);
+ uint32_t x126 = cmovznz(x122, x109, x73);
+ uint32_t x127 = cmovznz(x122, x106, x70);
+ uint32_t x128 = cmovznz(x122, x103, x67);
+ uint32_t x129 = cmovznz(x122, x100, x64);
+ uint32_t x130 = cmovznz(x122, x97, x61);
+ uint32_t x131 = cmovznz(x122, x94, x58);
+ uint32_t x132 = cmovznz(x122, x91, x55);
+ uint32_t x133 = cmovznz(x122, x88, x52);
+ uint32_t x134 = cmovznz(x122, x85, x49);
+ return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e384m79x2e376m1/feaddDisplay.log b/src/Specific/montgomery32_2e384m79x2e376m1/feaddDisplay.log
new file mode 100644
index 000000000..79d2e19a1
--- /dev/null
+++ b/src/Specific/montgomery32_2e384m79x2e376m1/feaddDisplay.log
@@ -0,0 +1,44 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
+ uint32_t x49, uint8_t x50 = addcarryx_u32(0x0, x5, x27);
+ uint32_t x52, uint8_t x53 = addcarryx_u32(x50, x7, x29);
+ uint32_t x55, uint8_t x56 = addcarryx_u32(x53, x9, x31);
+ uint32_t x58, uint8_t x59 = addcarryx_u32(x56, x11, x33);
+ uint32_t x61, uint8_t x62 = addcarryx_u32(x59, x13, x35);
+ uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x15, x37);
+ uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x17, x39);
+ uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x19, x41);
+ uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x21, x43);
+ uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x23, x45);
+ uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x25, x47);
+ uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x24, x46);
+ uint32_t x85, uint8_t x86 = subborrow_u32(0x0, x49, 0xffffffff);
+ uint32_t x88, uint8_t x89 = subborrow_u32(x86, x52, 0xffffffff);
+ uint32_t x91, uint8_t x92 = subborrow_u32(x89, x55, 0xffffffff);
+ uint32_t x94, uint8_t x95 = subborrow_u32(x92, x58, 0xffffffff);
+ uint32_t x97, uint8_t x98 = subborrow_u32(x95, x61, 0xffffffff);
+ uint32_t x100, uint8_t x101 = subborrow_u32(x98, x64, 0xffffffff);
+ uint32_t x103, uint8_t x104 = subborrow_u32(x101, x67, 0xffffffff);
+ uint32_t x106, uint8_t x107 = subborrow_u32(x104, x70, 0xffffffff);
+ uint32_t x109, uint8_t x110 = subborrow_u32(x107, x73, 0xffffffff);
+ uint32_t x112, uint8_t x113 = subborrow_u32(x110, x76, 0xffffffff);
+ uint32_t x115, uint8_t x116 = subborrow_u32(x113, x79, 0xffffffff);
+ uint32_t x118, uint8_t x119 = subborrow_u32(x116, x82, Const 2969567231);
+ uint32_t _, uint8_t x122 = subborrow_u32(x119, x83, 0x0);
+ uint32_t x123 = cmovznz(x122, x118, x82);
+ uint32_t x124 = cmovznz(x122, x115, x79);
+ uint32_t x125 = cmovznz(x122, x112, x76);
+ uint32_t x126 = cmovznz(x122, x109, x73);
+ uint32_t x127 = cmovznz(x122, x106, x70);
+ uint32_t x128 = cmovznz(x122, x103, x67);
+ uint32_t x129 = cmovznz(x122, x100, x64);
+ uint32_t x130 = cmovznz(x122, x97, x61);
+ uint32_t x131 = cmovznz(x122, x94, x58);
+ uint32_t x132 = cmovznz(x122, x91, x55);
+ uint32_t x133 = cmovznz(x122, x88, x52);
+ uint32_t x134 = cmovznz(x122, x85, x49);
+ return (x123, x124, x125, x126, x127, x128, x129, x130, x131, x132, x133, x134))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e389m21/feaddDisplay.log b/src/Specific/montgomery32_2e389m21/feaddDisplay.log
new file mode 100644
index 000000000..9aeda7b9e
--- /dev/null
+++ b/src/Specific/montgomery32_2e389m21/feaddDisplay.log
@@ -0,0 +1,47 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
+ uint32_t x53, uint8_t x54 = addcarryx_u32(0x0, x5, x29);
+ uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x7, x31);
+ uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x9, x33);
+ uint32_t x62, uint8_t x63 = addcarryx_u32(x60, x11, x35);
+ uint32_t x65, uint8_t x66 = addcarryx_u32(x63, x13, x37);
+ uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x15, x39);
+ uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x17, x41);
+ uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x19, x43);
+ uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x21, x45);
+ uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x23, x47);
+ uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x25, x49);
+ uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x27, x51);
+ uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x26, x50);
+ uint32_t x92, uint8_t x93 = subborrow_u32(0x0, x53, Const 4294967275);
+ uint32_t x95, uint8_t x96 = subborrow_u32(x93, x56, 0xffffffff);
+ uint32_t x98, uint8_t x99 = subborrow_u32(x96, x59, 0xffffffff);
+ uint32_t x101, uint8_t x102 = subborrow_u32(x99, x62, 0xffffffff);
+ uint32_t x104, uint8_t x105 = subborrow_u32(x102, x65, 0xffffffff);
+ uint32_t x107, uint8_t x108 = subborrow_u32(x105, x68, 0xffffffff);
+ uint32_t x110, uint8_t x111 = subborrow_u32(x108, x71, 0xffffffff);
+ uint32_t x113, uint8_t x114 = subborrow_u32(x111, x74, 0xffffffff);
+ uint32_t x116, uint8_t x117 = subborrow_u32(x114, x77, 0xffffffff);
+ uint32_t x119, uint8_t x120 = subborrow_u32(x117, x80, 0xffffffff);
+ uint32_t x122, uint8_t x123 = subborrow_u32(x120, x83, 0xffffffff);
+ uint32_t x125, uint8_t x126 = subborrow_u32(x123, x86, 0xffffffff);
+ uint32_t x128, uint8_t x129 = subborrow_u32(x126, x89, 0x1f);
+ uint32_t _, uint8_t x132 = subborrow_u32(x129, x90, 0x0);
+ uint32_t x133 = cmovznz(x132, x128, x89);
+ uint32_t x134 = cmovznz(x132, x125, x86);
+ uint32_t x135 = cmovznz(x132, x122, x83);
+ uint32_t x136 = cmovznz(x132, x119, x80);
+ uint32_t x137 = cmovznz(x132, x116, x77);
+ uint32_t x138 = cmovznz(x132, x113, x74);
+ uint32_t x139 = cmovznz(x132, x110, x71);
+ uint32_t x140 = cmovznz(x132, x107, x68);
+ uint32_t x141 = cmovznz(x132, x104, x65);
+ uint32_t x142 = cmovznz(x132, x101, x62);
+ uint32_t x143 = cmovznz(x132, x98, x59);
+ uint32_t x144 = cmovznz(x132, x95, x56);
+ uint32_t x145 = cmovznz(x132, x92, x53);
+ return (x133, x134, x135, x136, x137, x138, x139, x140, x141, x142, x143, x144, x145))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e401m31/feaddDisplay.log b/src/Specific/montgomery32_2e401m31/feaddDisplay.log
new file mode 100644
index 000000000..c674bce90
--- /dev/null
+++ b/src/Specific/montgomery32_2e401m31/feaddDisplay.log
@@ -0,0 +1,47 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
+ uint32_t x53, uint8_t x54 = addcarryx_u32(0x0, x5, x29);
+ uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x7, x31);
+ uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x9, x33);
+ uint32_t x62, uint8_t x63 = addcarryx_u32(x60, x11, x35);
+ uint32_t x65, uint8_t x66 = addcarryx_u32(x63, x13, x37);
+ uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x15, x39);
+ uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x17, x41);
+ uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x19, x43);
+ uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x21, x45);
+ uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x23, x47);
+ uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x25, x49);
+ uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x27, x51);
+ uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x26, x50);
+ uint32_t x92, uint8_t x93 = subborrow_u32(0x0, x53, Const 4294967265);
+ uint32_t x95, uint8_t x96 = subborrow_u32(x93, x56, 0xffffffff);
+ uint32_t x98, uint8_t x99 = subborrow_u32(x96, x59, 0xffffffff);
+ uint32_t x101, uint8_t x102 = subborrow_u32(x99, x62, 0xffffffff);
+ uint32_t x104, uint8_t x105 = subborrow_u32(x102, x65, 0xffffffff);
+ uint32_t x107, uint8_t x108 = subborrow_u32(x105, x68, 0xffffffff);
+ uint32_t x110, uint8_t x111 = subborrow_u32(x108, x71, 0xffffffff);
+ uint32_t x113, uint8_t x114 = subborrow_u32(x111, x74, 0xffffffff);
+ uint32_t x116, uint8_t x117 = subborrow_u32(x114, x77, 0xffffffff);
+ uint32_t x119, uint8_t x120 = subborrow_u32(x117, x80, 0xffffffff);
+ uint32_t x122, uint8_t x123 = subborrow_u32(x120, x83, 0xffffffff);
+ uint32_t x125, uint8_t x126 = subborrow_u32(x123, x86, 0xffffffff);
+ uint32_t x128, uint8_t x129 = subborrow_u32(x126, x89, 0x1ffff);
+ uint32_t _, uint8_t x132 = subborrow_u32(x129, x90, 0x0);
+ uint32_t x133 = cmovznz(x132, x128, x89);
+ uint32_t x134 = cmovznz(x132, x125, x86);
+ uint32_t x135 = cmovznz(x132, x122, x83);
+ uint32_t x136 = cmovznz(x132, x119, x80);
+ uint32_t x137 = cmovznz(x132, x116, x77);
+ uint32_t x138 = cmovznz(x132, x113, x74);
+ uint32_t x139 = cmovznz(x132, x110, x71);
+ uint32_t x140 = cmovznz(x132, x107, x68);
+ uint32_t x141 = cmovznz(x132, x104, x65);
+ uint32_t x142 = cmovznz(x132, x101, x62);
+ uint32_t x143 = cmovznz(x132, x98, x59);
+ uint32_t x144 = cmovznz(x132, x95, x56);
+ uint32_t x145 = cmovznz(x132, x92, x53);
+ return (x133, x134, x135, x136, x137, x138, x139, x140, x141, x142, x143, x144, x145))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e413m21/feaddDisplay.log b/src/Specific/montgomery32_2e413m21/feaddDisplay.log
new file mode 100644
index 000000000..129414200
--- /dev/null
+++ b/src/Specific/montgomery32_2e413m21/feaddDisplay.log
@@ -0,0 +1,47 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
+ uint32_t x53, uint8_t x54 = addcarryx_u32(0x0, x5, x29);
+ uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x7, x31);
+ uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x9, x33);
+ uint32_t x62, uint8_t x63 = addcarryx_u32(x60, x11, x35);
+ uint32_t x65, uint8_t x66 = addcarryx_u32(x63, x13, x37);
+ uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x15, x39);
+ uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x17, x41);
+ uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x19, x43);
+ uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x21, x45);
+ uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x23, x47);
+ uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x25, x49);
+ uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x27, x51);
+ uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x26, x50);
+ uint32_t x92, uint8_t x93 = subborrow_u32(0x0, x53, Const 4294967275);
+ uint32_t x95, uint8_t x96 = subborrow_u32(x93, x56, 0xffffffff);
+ uint32_t x98, uint8_t x99 = subborrow_u32(x96, x59, 0xffffffff);
+ uint32_t x101, uint8_t x102 = subborrow_u32(x99, x62, 0xffffffff);
+ uint32_t x104, uint8_t x105 = subborrow_u32(x102, x65, 0xffffffff);
+ uint32_t x107, uint8_t x108 = subborrow_u32(x105, x68, 0xffffffff);
+ uint32_t x110, uint8_t x111 = subborrow_u32(x108, x71, 0xffffffff);
+ uint32_t x113, uint8_t x114 = subborrow_u32(x111, x74, 0xffffffff);
+ uint32_t x116, uint8_t x117 = subborrow_u32(x114, x77, 0xffffffff);
+ uint32_t x119, uint8_t x120 = subborrow_u32(x117, x80, 0xffffffff);
+ uint32_t x122, uint8_t x123 = subborrow_u32(x120, x83, 0xffffffff);
+ uint32_t x125, uint8_t x126 = subborrow_u32(x123, x86, 0xffffffff);
+ uint32_t x128, uint8_t x129 = subborrow_u32(x126, x89, 0x1fffffff);
+ uint32_t _, uint8_t x132 = subborrow_u32(x129, x90, 0x0);
+ uint32_t x133 = cmovznz(x132, x128, x89);
+ uint32_t x134 = cmovznz(x132, x125, x86);
+ uint32_t x135 = cmovznz(x132, x122, x83);
+ uint32_t x136 = cmovznz(x132, x119, x80);
+ uint32_t x137 = cmovznz(x132, x116, x77);
+ uint32_t x138 = cmovznz(x132, x113, x74);
+ uint32_t x139 = cmovznz(x132, x110, x71);
+ uint32_t x140 = cmovznz(x132, x107, x68);
+ uint32_t x141 = cmovznz(x132, x104, x65);
+ uint32_t x142 = cmovznz(x132, x101, x62);
+ uint32_t x143 = cmovznz(x132, x98, x59);
+ uint32_t x144 = cmovznz(x132, x95, x56);
+ uint32_t x145 = cmovznz(x132, x92, x53);
+ return (x133, x134, x135, x136, x137, x138, x139, x140, x141, x142, x143, x144, x145))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e414m17/feaddDisplay.log b/src/Specific/montgomery32_2e414m17/feaddDisplay.log
new file mode 100644
index 000000000..01c183eb3
--- /dev/null
+++ b/src/Specific/montgomery32_2e414m17/feaddDisplay.log
@@ -0,0 +1,47 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
+ uint32_t x53, uint8_t x54 = addcarryx_u32(0x0, x5, x29);
+ uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x7, x31);
+ uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x9, x33);
+ uint32_t x62, uint8_t x63 = addcarryx_u32(x60, x11, x35);
+ uint32_t x65, uint8_t x66 = addcarryx_u32(x63, x13, x37);
+ uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x15, x39);
+ uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x17, x41);
+ uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x19, x43);
+ uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x21, x45);
+ uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x23, x47);
+ uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x25, x49);
+ uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x27, x51);
+ uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x26, x50);
+ uint32_t x92, uint8_t x93 = subborrow_u32(0x0, x53, 0xffffffef);
+ uint32_t x95, uint8_t x96 = subborrow_u32(x93, x56, 0xffffffff);
+ uint32_t x98, uint8_t x99 = subborrow_u32(x96, x59, 0xffffffff);
+ uint32_t x101, uint8_t x102 = subborrow_u32(x99, x62, 0xffffffff);
+ uint32_t x104, uint8_t x105 = subborrow_u32(x102, x65, 0xffffffff);
+ uint32_t x107, uint8_t x108 = subborrow_u32(x105, x68, 0xffffffff);
+ uint32_t x110, uint8_t x111 = subborrow_u32(x108, x71, 0xffffffff);
+ uint32_t x113, uint8_t x114 = subborrow_u32(x111, x74, 0xffffffff);
+ uint32_t x116, uint8_t x117 = subborrow_u32(x114, x77, 0xffffffff);
+ uint32_t x119, uint8_t x120 = subborrow_u32(x117, x80, 0xffffffff);
+ uint32_t x122, uint8_t x123 = subborrow_u32(x120, x83, 0xffffffff);
+ uint32_t x125, uint8_t x126 = subborrow_u32(x123, x86, 0xffffffff);
+ uint32_t x128, uint8_t x129 = subborrow_u32(x126, x89, 0x3fffffff);
+ uint32_t _, uint8_t x132 = subborrow_u32(x129, x90, 0x0);
+ uint32_t x133 = cmovznz(x132, x128, x89);
+ uint32_t x134 = cmovznz(x132, x125, x86);
+ uint32_t x135 = cmovznz(x132, x122, x83);
+ uint32_t x136 = cmovznz(x132, x119, x80);
+ uint32_t x137 = cmovznz(x132, x116, x77);
+ uint32_t x138 = cmovznz(x132, x113, x74);
+ uint32_t x139 = cmovznz(x132, x110, x71);
+ uint32_t x140 = cmovznz(x132, x107, x68);
+ uint32_t x141 = cmovznz(x132, x104, x65);
+ uint32_t x142 = cmovznz(x132, x101, x62);
+ uint32_t x143 = cmovznz(x132, x98, x59);
+ uint32_t x144 = cmovznz(x132, x95, x56);
+ uint32_t x145 = cmovznz(x132, x92, x53);
+ return (x133, x134, x135, x136, x137, x138, x139, x140, x141, x142, x143, x144, x145))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e416m2e208m1/feaddDisplay.log b/src/Specific/montgomery32_2e416m2e208m1/feaddDisplay.log
new file mode 100644
index 000000000..284e22fec
--- /dev/null
+++ b/src/Specific/montgomery32_2e416m2e208m1/feaddDisplay.log
@@ -0,0 +1,47 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
+ uint32_t x53, uint8_t x54 = addcarryx_u32(0x0, x5, x29);
+ uint32_t x56, uint8_t x57 = addcarryx_u32(x54, x7, x31);
+ uint32_t x59, uint8_t x60 = addcarryx_u32(x57, x9, x33);
+ uint32_t x62, uint8_t x63 = addcarryx_u32(x60, x11, x35);
+ uint32_t x65, uint8_t x66 = addcarryx_u32(x63, x13, x37);
+ uint32_t x68, uint8_t x69 = addcarryx_u32(x66, x15, x39);
+ uint32_t x71, uint8_t x72 = addcarryx_u32(x69, x17, x41);
+ uint32_t x74, uint8_t x75 = addcarryx_u32(x72, x19, x43);
+ uint32_t x77, uint8_t x78 = addcarryx_u32(x75, x21, x45);
+ uint32_t x80, uint8_t x81 = addcarryx_u32(x78, x23, x47);
+ uint32_t x83, uint8_t x84 = addcarryx_u32(x81, x25, x49);
+ uint32_t x86, uint8_t x87 = addcarryx_u32(x84, x27, x51);
+ uint32_t x89, uint8_t x90 = addcarryx_u32(x87, x26, x50);
+ uint32_t x92, uint8_t x93 = subborrow_u32(0x0, x53, 0xffffffff);
+ uint32_t x95, uint8_t x96 = subborrow_u32(x93, x56, 0xffffffff);
+ uint32_t x98, uint8_t x99 = subborrow_u32(x96, x59, 0xffffffff);
+ uint32_t x101, uint8_t x102 = subborrow_u32(x99, x62, 0xffffffff);
+ uint32_t x104, uint8_t x105 = subborrow_u32(x102, x65, 0xffffffff);
+ uint32_t x107, uint8_t x108 = subborrow_u32(x105, x68, 0xffffffff);
+ uint32_t x110, uint8_t x111 = subborrow_u32(x108, x71, Const 4294901759);
+ uint32_t x113, uint8_t x114 = subborrow_u32(x111, x74, 0xffffffff);
+ uint32_t x116, uint8_t x117 = subborrow_u32(x114, x77, 0xffffffff);
+ uint32_t x119, uint8_t x120 = subborrow_u32(x117, x80, 0xffffffff);
+ uint32_t x122, uint8_t x123 = subborrow_u32(x120, x83, 0xffffffff);
+ uint32_t x125, uint8_t x126 = subborrow_u32(x123, x86, 0xffffffff);
+ uint32_t x128, uint8_t x129 = subborrow_u32(x126, x89, 0xffffffff);
+ uint32_t _, uint8_t x132 = subborrow_u32(x129, x90, 0x0);
+ uint32_t x133 = cmovznz(x132, x128, x89);
+ uint32_t x134 = cmovznz(x132, x125, x86);
+ uint32_t x135 = cmovznz(x132, x122, x83);
+ uint32_t x136 = cmovznz(x132, x119, x80);
+ uint32_t x137 = cmovznz(x132, x116, x77);
+ uint32_t x138 = cmovznz(x132, x113, x74);
+ uint32_t x139 = cmovznz(x132, x110, x71);
+ uint32_t x140 = cmovznz(x132, x107, x68);
+ uint32_t x141 = cmovznz(x132, x104, x65);
+ uint32_t x142 = cmovznz(x132, x101, x62);
+ uint32_t x143 = cmovznz(x132, x98, x59);
+ uint32_t x144 = cmovznz(x132, x95, x56);
+ uint32_t x145 = cmovznz(x132, x92, x53);
+ return (x133, x134, x135, x136, x137, x138, x139, x140, x141, x142, x143, x144, x145))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e444m17/feaddDisplay.log b/src/Specific/montgomery32_2e444m17/feaddDisplay.log
new file mode 100644
index 000000000..e02798f93
--- /dev/null
+++ b/src/Specific/montgomery32_2e444m17/feaddDisplay.log
@@ -0,0 +1,50 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
+ uint32_t x57, uint8_t x58 = addcarryx_u32(0x0, x5, x31);
+ uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x7, x33);
+ uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x9, x35);
+ uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x11, x37);
+ uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x13, x39);
+ uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x15, x41);
+ uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x17, x43);
+ uint32_t x78, uint8_t x79 = addcarryx_u32(x76, x19, x45);
+ uint32_t x81, uint8_t x82 = addcarryx_u32(x79, x21, x47);
+ uint32_t x84, uint8_t x85 = addcarryx_u32(x82, x23, x49);
+ uint32_t x87, uint8_t x88 = addcarryx_u32(x85, x25, x51);
+ uint32_t x90, uint8_t x91 = addcarryx_u32(x88, x27, x53);
+ uint32_t x93, uint8_t x94 = addcarryx_u32(x91, x29, x55);
+ uint32_t x96, uint8_t x97 = addcarryx_u32(x94, x28, x54);
+ uint32_t x99, uint8_t x100 = subborrow_u32(0x0, x57, 0xffffffef);
+ uint32_t x102, uint8_t x103 = subborrow_u32(x100, x60, 0xffffffff);
+ uint32_t x105, uint8_t x106 = subborrow_u32(x103, x63, 0xffffffff);
+ uint32_t x108, uint8_t x109 = subborrow_u32(x106, x66, 0xffffffff);
+ uint32_t x111, uint8_t x112 = subborrow_u32(x109, x69, 0xffffffff);
+ uint32_t x114, uint8_t x115 = subborrow_u32(x112, x72, 0xffffffff);
+ uint32_t x117, uint8_t x118 = subborrow_u32(x115, x75, 0xffffffff);
+ uint32_t x120, uint8_t x121 = subborrow_u32(x118, x78, 0xffffffff);
+ uint32_t x123, uint8_t x124 = subborrow_u32(x121, x81, 0xffffffff);
+ uint32_t x126, uint8_t x127 = subborrow_u32(x124, x84, 0xffffffff);
+ uint32_t x129, uint8_t x130 = subborrow_u32(x127, x87, 0xffffffff);
+ uint32_t x132, uint8_t x133 = subborrow_u32(x130, x90, 0xffffffff);
+ uint32_t x135, uint8_t x136 = subborrow_u32(x133, x93, 0xffffffff);
+ uint32_t x138, uint8_t x139 = subborrow_u32(x136, x96, 0xfffffff);
+ uint32_t _, uint8_t x142 = subborrow_u32(x139, x97, 0x0);
+ uint32_t x143 = cmovznz(x142, x138, x96);
+ uint32_t x144 = cmovznz(x142, x135, x93);
+ uint32_t x145 = cmovznz(x142, x132, x90);
+ uint32_t x146 = cmovznz(x142, x129, x87);
+ uint32_t x147 = cmovznz(x142, x126, x84);
+ uint32_t x148 = cmovznz(x142, x123, x81);
+ uint32_t x149 = cmovznz(x142, x120, x78);
+ uint32_t x150 = cmovznz(x142, x117, x75);
+ uint32_t x151 = cmovznz(x142, x114, x72);
+ uint32_t x152 = cmovznz(x142, x111, x69);
+ uint32_t x153 = cmovznz(x142, x108, x66);
+ uint32_t x154 = cmovznz(x142, x105, x63);
+ uint32_t x155 = cmovznz(x142, x102, x60);
+ uint32_t x156 = cmovznz(x142, x99, x57);
+ return (x143, x144, x145, x146, x147, x148, x149, x150, x151, x152, x153, x154, x155, x156))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e448m2e224m1/feaddDisplay.log b/src/Specific/montgomery32_2e448m2e224m1/feaddDisplay.log
new file mode 100644
index 000000000..369545ff6
--- /dev/null
+++ b/src/Specific/montgomery32_2e448m2e224m1/feaddDisplay.log
@@ -0,0 +1,50 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
+ uint32_t x57, uint8_t x58 = addcarryx_u32(0x0, x5, x31);
+ uint32_t x60, uint8_t x61 = addcarryx_u32(x58, x7, x33);
+ uint32_t x63, uint8_t x64 = addcarryx_u32(x61, x9, x35);
+ uint32_t x66, uint8_t x67 = addcarryx_u32(x64, x11, x37);
+ uint32_t x69, uint8_t x70 = addcarryx_u32(x67, x13, x39);
+ uint32_t x72, uint8_t x73 = addcarryx_u32(x70, x15, x41);
+ uint32_t x75, uint8_t x76 = addcarryx_u32(x73, x17, x43);
+ uint32_t x78, uint8_t x79 = addcarryx_u32(x76, x19, x45);
+ uint32_t x81, uint8_t x82 = addcarryx_u32(x79, x21, x47);
+ uint32_t x84, uint8_t x85 = addcarryx_u32(x82, x23, x49);
+ uint32_t x87, uint8_t x88 = addcarryx_u32(x85, x25, x51);
+ uint32_t x90, uint8_t x91 = addcarryx_u32(x88, x27, x53);
+ uint32_t x93, uint8_t x94 = addcarryx_u32(x91, x29, x55);
+ uint32_t x96, uint8_t x97 = addcarryx_u32(x94, x28, x54);
+ uint32_t x99, uint8_t x100 = subborrow_u32(0x0, x57, 0xffffffff);
+ uint32_t x102, uint8_t x103 = subborrow_u32(x100, x60, 0xffffffff);
+ uint32_t x105, uint8_t x106 = subborrow_u32(x103, x63, 0xffffffff);
+ uint32_t x108, uint8_t x109 = subborrow_u32(x106, x66, 0xffffffff);
+ uint32_t x111, uint8_t x112 = subborrow_u32(x109, x69, 0xffffffff);
+ uint32_t x114, uint8_t x115 = subborrow_u32(x112, x72, 0xffffffff);
+ uint32_t x117, uint8_t x118 = subborrow_u32(x115, x75, 0xffffffff);
+ uint32_t x120, uint8_t x121 = subborrow_u32(x118, x78, 0xfffffffe);
+ uint32_t x123, uint8_t x124 = subborrow_u32(x121, x81, 0xffffffff);
+ uint32_t x126, uint8_t x127 = subborrow_u32(x124, x84, 0xffffffff);
+ uint32_t x129, uint8_t x130 = subborrow_u32(x127, x87, 0xffffffff);
+ uint32_t x132, uint8_t x133 = subborrow_u32(x130, x90, 0xffffffff);
+ uint32_t x135, uint8_t x136 = subborrow_u32(x133, x93, 0xffffffff);
+ uint32_t x138, uint8_t x139 = subborrow_u32(x136, x96, 0xffffffff);
+ uint32_t _, uint8_t x142 = subborrow_u32(x139, x97, 0x0);
+ uint32_t x143 = cmovznz(x142, x138, x96);
+ uint32_t x144 = cmovznz(x142, x135, x93);
+ uint32_t x145 = cmovznz(x142, x132, x90);
+ uint32_t x146 = cmovznz(x142, x129, x87);
+ uint32_t x147 = cmovznz(x142, x126, x84);
+ uint32_t x148 = cmovznz(x142, x123, x81);
+ uint32_t x149 = cmovznz(x142, x120, x78);
+ uint32_t x150 = cmovznz(x142, x117, x75);
+ uint32_t x151 = cmovznz(x142, x114, x72);
+ uint32_t x152 = cmovznz(x142, x111, x69);
+ uint32_t x153 = cmovznz(x142, x108, x66);
+ uint32_t x154 = cmovznz(x142, x105, x63);
+ uint32_t x155 = cmovznz(x142, x102, x60);
+ uint32_t x156 = cmovznz(x142, x99, x57);
+ return (x143, x144, x145, x146, x147, x148, x149, x150, x151, x152, x153, x154, x155, x156))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e450m2e225m1/feaddDisplay.log b/src/Specific/montgomery32_2e450m2e225m1/feaddDisplay.log
new file mode 100644
index 000000000..6b9099a4d
--- /dev/null
+++ b/src/Specific/montgomery32_2e450m2e225m1/feaddDisplay.log
@@ -0,0 +1,53 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
+ uint32_t x61, uint8_t x62 = addcarryx_u32(0x0, x5, x33);
+ uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x7, x35);
+ uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x9, x37);
+ uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x11, x39);
+ uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x13, x41);
+ uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x15, x43);
+ uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x17, x45);
+ uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x19, x47);
+ uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x21, x49);
+ uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x23, x51);
+ uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x25, x53);
+ uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x27, x55);
+ uint32_t x97, uint8_t x98 = addcarryx_u32(x95, x29, x57);
+ uint32_t x100, uint8_t x101 = addcarryx_u32(x98, x31, x59);
+ uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x30, x58);
+ uint32_t x106, uint8_t x107 = subborrow_u32(0x0, x61, 0xffffffff);
+ uint32_t x109, uint8_t x110 = subborrow_u32(x107, x64, 0xffffffff);
+ uint32_t x112, uint8_t x113 = subborrow_u32(x110, x67, 0xffffffff);
+ uint32_t x115, uint8_t x116 = subborrow_u32(x113, x70, 0xffffffff);
+ uint32_t x118, uint8_t x119 = subborrow_u32(x116, x73, 0xffffffff);
+ uint32_t x121, uint8_t x122 = subborrow_u32(x119, x76, 0xffffffff);
+ uint32_t x124, uint8_t x125 = subborrow_u32(x122, x79, 0xffffffff);
+ uint32_t x127, uint8_t x128 = subborrow_u32(x125, x82, 0xfffffffd);
+ uint32_t x130, uint8_t x131 = subborrow_u32(x128, x85, 0xffffffff);
+ uint32_t x133, uint8_t x134 = subborrow_u32(x131, x88, 0xffffffff);
+ uint32_t x136, uint8_t x137 = subborrow_u32(x134, x91, 0xffffffff);
+ uint32_t x139, uint8_t x140 = subborrow_u32(x137, x94, 0xffffffff);
+ uint32_t x142, uint8_t x143 = subborrow_u32(x140, x97, 0xffffffff);
+ uint32_t x145, uint8_t x146 = subborrow_u32(x143, x100, 0xffffffff);
+ uint32_t x148, uint8_t x149 = subborrow_u32(x146, x103, 0x3);
+ uint32_t _, uint8_t x152 = subborrow_u32(x149, x104, 0x0);
+ uint32_t x153 = cmovznz(x152, x148, x103);
+ uint32_t x154 = cmovznz(x152, x145, x100);
+ uint32_t x155 = cmovznz(x152, x142, x97);
+ uint32_t x156 = cmovznz(x152, x139, x94);
+ uint32_t x157 = cmovznz(x152, x136, x91);
+ uint32_t x158 = cmovznz(x152, x133, x88);
+ uint32_t x159 = cmovznz(x152, x130, x85);
+ uint32_t x160 = cmovznz(x152, x127, x82);
+ uint32_t x161 = cmovznz(x152, x124, x79);
+ uint32_t x162 = cmovznz(x152, x121, x76);
+ uint32_t x163 = cmovznz(x152, x118, x73);
+ uint32_t x164 = cmovznz(x152, x115, x70);
+ uint32_t x165 = cmovznz(x152, x112, x67);
+ uint32_t x166 = cmovznz(x152, x109, x64);
+ uint32_t x167 = cmovznz(x152, x106, x61);
+ return (x153, x154, x155, x156, x157, x158, x159, x160, x161, x162, x163, x164, x165, x166, x167))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e452m3/feaddDisplay.log b/src/Specific/montgomery32_2e452m3/feaddDisplay.log
new file mode 100644
index 000000000..702405c99
--- /dev/null
+++ b/src/Specific/montgomery32_2e452m3/feaddDisplay.log
@@ -0,0 +1,53 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
+ uint32_t x61, uint8_t x62 = addcarryx_u32(0x0, x5, x33);
+ uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x7, x35);
+ uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x9, x37);
+ uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x11, x39);
+ uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x13, x41);
+ uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x15, x43);
+ uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x17, x45);
+ uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x19, x47);
+ uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x21, x49);
+ uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x23, x51);
+ uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x25, x53);
+ uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x27, x55);
+ uint32_t x97, uint8_t x98 = addcarryx_u32(x95, x29, x57);
+ uint32_t x100, uint8_t x101 = addcarryx_u32(x98, x31, x59);
+ uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x30, x58);
+ uint32_t x106, uint8_t x107 = subborrow_u32(0x0, x61, 0xfffffffd);
+ uint32_t x109, uint8_t x110 = subborrow_u32(x107, x64, 0xffffffff);
+ uint32_t x112, uint8_t x113 = subborrow_u32(x110, x67, 0xffffffff);
+ uint32_t x115, uint8_t x116 = subborrow_u32(x113, x70, 0xffffffff);
+ uint32_t x118, uint8_t x119 = subborrow_u32(x116, x73, 0xffffffff);
+ uint32_t x121, uint8_t x122 = subborrow_u32(x119, x76, 0xffffffff);
+ uint32_t x124, uint8_t x125 = subborrow_u32(x122, x79, 0xffffffff);
+ uint32_t x127, uint8_t x128 = subborrow_u32(x125, x82, 0xffffffff);
+ uint32_t x130, uint8_t x131 = subborrow_u32(x128, x85, 0xffffffff);
+ uint32_t x133, uint8_t x134 = subborrow_u32(x131, x88, 0xffffffff);
+ uint32_t x136, uint8_t x137 = subborrow_u32(x134, x91, 0xffffffff);
+ uint32_t x139, uint8_t x140 = subborrow_u32(x137, x94, 0xffffffff);
+ uint32_t x142, uint8_t x143 = subborrow_u32(x140, x97, 0xffffffff);
+ uint32_t x145, uint8_t x146 = subborrow_u32(x143, x100, 0xffffffff);
+ uint32_t x148, uint8_t x149 = subborrow_u32(x146, x103, 0xf);
+ uint32_t _, uint8_t x152 = subborrow_u32(x149, x104, 0x0);
+ uint32_t x153 = cmovznz(x152, x148, x103);
+ uint32_t x154 = cmovznz(x152, x145, x100);
+ uint32_t x155 = cmovznz(x152, x142, x97);
+ uint32_t x156 = cmovznz(x152, x139, x94);
+ uint32_t x157 = cmovznz(x152, x136, x91);
+ uint32_t x158 = cmovznz(x152, x133, x88);
+ uint32_t x159 = cmovznz(x152, x130, x85);
+ uint32_t x160 = cmovznz(x152, x127, x82);
+ uint32_t x161 = cmovznz(x152, x124, x79);
+ uint32_t x162 = cmovznz(x152, x121, x76);
+ uint32_t x163 = cmovznz(x152, x118, x73);
+ uint32_t x164 = cmovznz(x152, x115, x70);
+ uint32_t x165 = cmovznz(x152, x112, x67);
+ uint32_t x166 = cmovznz(x152, x109, x64);
+ uint32_t x167 = cmovznz(x152, x106, x61);
+ return (x153, x154, x155, x156, x157, x158, x159, x160, x161, x162, x163, x164, x165, x166, x167))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e468m17/feaddDisplay.log b/src/Specific/montgomery32_2e468m17/feaddDisplay.log
new file mode 100644
index 000000000..7345bfdc7
--- /dev/null
+++ b/src/Specific/montgomery32_2e468m17/feaddDisplay.log
@@ -0,0 +1,53 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
+ uint32_t x61, uint8_t x62 = addcarryx_u32(0x0, x5, x33);
+ uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x7, x35);
+ uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x9, x37);
+ uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x11, x39);
+ uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x13, x41);
+ uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x15, x43);
+ uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x17, x45);
+ uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x19, x47);
+ uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x21, x49);
+ uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x23, x51);
+ uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x25, x53);
+ uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x27, x55);
+ uint32_t x97, uint8_t x98 = addcarryx_u32(x95, x29, x57);
+ uint32_t x100, uint8_t x101 = addcarryx_u32(x98, x31, x59);
+ uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x30, x58);
+ uint32_t x106, uint8_t x107 = subborrow_u32(0x0, x61, 0xffffffef);
+ uint32_t x109, uint8_t x110 = subborrow_u32(x107, x64, 0xffffffff);
+ uint32_t x112, uint8_t x113 = subborrow_u32(x110, x67, 0xffffffff);
+ uint32_t x115, uint8_t x116 = subborrow_u32(x113, x70, 0xffffffff);
+ uint32_t x118, uint8_t x119 = subborrow_u32(x116, x73, 0xffffffff);
+ uint32_t x121, uint8_t x122 = subborrow_u32(x119, x76, 0xffffffff);
+ uint32_t x124, uint8_t x125 = subborrow_u32(x122, x79, 0xffffffff);
+ uint32_t x127, uint8_t x128 = subborrow_u32(x125, x82, 0xffffffff);
+ uint32_t x130, uint8_t x131 = subborrow_u32(x128, x85, 0xffffffff);
+ uint32_t x133, uint8_t x134 = subborrow_u32(x131, x88, 0xffffffff);
+ uint32_t x136, uint8_t x137 = subborrow_u32(x134, x91, 0xffffffff);
+ uint32_t x139, uint8_t x140 = subborrow_u32(x137, x94, 0xffffffff);
+ uint32_t x142, uint8_t x143 = subborrow_u32(x140, x97, 0xffffffff);
+ uint32_t x145, uint8_t x146 = subborrow_u32(x143, x100, 0xffffffff);
+ uint32_t x148, uint8_t x149 = subborrow_u32(x146, x103, 0xfffff);
+ uint32_t _, uint8_t x152 = subborrow_u32(x149, x104, 0x0);
+ uint32_t x153 = cmovznz(x152, x148, x103);
+ uint32_t x154 = cmovznz(x152, x145, x100);
+ uint32_t x155 = cmovznz(x152, x142, x97);
+ uint32_t x156 = cmovznz(x152, x139, x94);
+ uint32_t x157 = cmovznz(x152, x136, x91);
+ uint32_t x158 = cmovznz(x152, x133, x88);
+ uint32_t x159 = cmovznz(x152, x130, x85);
+ uint32_t x160 = cmovznz(x152, x127, x82);
+ uint32_t x161 = cmovznz(x152, x124, x79);
+ uint32_t x162 = cmovznz(x152, x121, x76);
+ uint32_t x163 = cmovznz(x152, x118, x73);
+ uint32_t x164 = cmovznz(x152, x115, x70);
+ uint32_t x165 = cmovznz(x152, x112, x67);
+ uint32_t x166 = cmovznz(x152, x109, x64);
+ uint32_t x167 = cmovznz(x152, x106, x61);
+ return (x153, x154, x155, x156, x157, x158, x159, x160, x161, x162, x163, x164, x165, x166, x167))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/montgomery32_2e480m2e240m1/feaddDisplay.log b/src/Specific/montgomery32_2e480m2e240m1/feaddDisplay.log
new file mode 100644
index 000000000..77fb26db1
--- /dev/null
+++ b/src/Specific/montgomery32_2e480m2e240m1/feaddDisplay.log
@@ -0,0 +1,53 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
+ uint32_t x61, uint8_t x62 = addcarryx_u32(0x0, x5, x33);
+ uint32_t x64, uint8_t x65 = addcarryx_u32(x62, x7, x35);
+ uint32_t x67, uint8_t x68 = addcarryx_u32(x65, x9, x37);
+ uint32_t x70, uint8_t x71 = addcarryx_u32(x68, x11, x39);
+ uint32_t x73, uint8_t x74 = addcarryx_u32(x71, x13, x41);
+ uint32_t x76, uint8_t x77 = addcarryx_u32(x74, x15, x43);
+ uint32_t x79, uint8_t x80 = addcarryx_u32(x77, x17, x45);
+ uint32_t x82, uint8_t x83 = addcarryx_u32(x80, x19, x47);
+ uint32_t x85, uint8_t x86 = addcarryx_u32(x83, x21, x49);
+ uint32_t x88, uint8_t x89 = addcarryx_u32(x86, x23, x51);
+ uint32_t x91, uint8_t x92 = addcarryx_u32(x89, x25, x53);
+ uint32_t x94, uint8_t x95 = addcarryx_u32(x92, x27, x55);
+ uint32_t x97, uint8_t x98 = addcarryx_u32(x95, x29, x57);
+ uint32_t x100, uint8_t x101 = addcarryx_u32(x98, x31, x59);
+ uint32_t x103, uint8_t x104 = addcarryx_u32(x101, x30, x58);
+ uint32_t x106, uint8_t x107 = subborrow_u32(0x0, x61, 0xffffffff);
+ uint32_t x109, uint8_t x110 = subborrow_u32(x107, x64, 0xffffffff);
+ uint32_t x112, uint8_t x113 = subborrow_u32(x110, x67, 0xffffffff);
+ uint32_t x115, uint8_t x116 = subborrow_u32(x113, x70, 0xffffffff);
+ uint32_t x118, uint8_t x119 = subborrow_u32(x116, x73, 0xffffffff);
+ uint32_t x121, uint8_t x122 = subborrow_u32(x119, x76, 0xffffffff);
+ uint32_t x124, uint8_t x125 = subborrow_u32(x122, x79, 0xffffffff);
+ uint32_t x127, uint8_t x128 = subborrow_u32(x125, x82, Const 4294901759);
+ uint32_t x130, uint8_t x131 = subborrow_u32(x128, x85, 0xffffffff);
+ uint32_t x133, uint8_t x134 = subborrow_u32(x131, x88, 0xffffffff);
+ uint32_t x136, uint8_t x137 = subborrow_u32(x134, x91, 0xffffffff);
+ uint32_t x139, uint8_t x140 = subborrow_u32(x137, x94, 0xffffffff);
+ uint32_t x142, uint8_t x143 = subborrow_u32(x140, x97, 0xffffffff);
+ uint32_t x145, uint8_t x146 = subborrow_u32(x143, x100, 0xffffffff);
+ uint32_t x148, uint8_t x149 = subborrow_u32(x146, x103, 0xffffffff);
+ uint32_t _, uint8_t x152 = subborrow_u32(x149, x104, 0x0);
+ uint32_t x153 = cmovznz(x152, x148, x103);
+ uint32_t x154 = cmovznz(x152, x145, x100);
+ uint32_t x155 = cmovznz(x152, x142, x97);
+ uint32_t x156 = cmovznz(x152, x139, x94);
+ uint32_t x157 = cmovznz(x152, x136, x91);
+ uint32_t x158 = cmovznz(x152, x133, x88);
+ uint32_t x159 = cmovznz(x152, x130, x85);
+ uint32_t x160 = cmovznz(x152, x127, x82);
+ uint32_t x161 = cmovznz(x152, x124, x79);
+ uint32_t x162 = cmovznz(x152, x121, x76);
+ uint32_t x163 = cmovznz(x152, x118, x73);
+ uint32_t x164 = cmovznz(x152, x115, x70);
+ uint32_t x165 = cmovznz(x152, x112, x67);
+ uint32_t x166 = cmovznz(x152, x109, x64);
+ uint32_t x167 = cmovznz(x152, x106, x61);
+ return (x153, x154, x155, x156, x157, x158, x159, x160, x161, x162, x163, x164, x165, x166, x167))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e206m5/femulDisplay.log b/src/Specific/solinas32_2e206m5/femulDisplay.log
index d75582ff8..4f813e0e4 100644
--- a/src/Specific/solinas32_2e206m5/femulDisplay.log
+++ b/src/Specific/solinas32_2e206m5/femulDisplay.log
@@ -2,59 +2,59 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint64_t x48 = (uint64_t) x5 * x46 + (0x2 * ((uint64_t) x7 * x47) + (0x2 * ((uint64_t) x9 * x45) + (0x2 * ((uint64_t) x11 * x43) + (0x2 * ((uint64_t) x13 * x41) + ((uint64_t) x15 * x39 + ((uint64_t) x17 * x37 + (0x2 * ((uint64_t) x19 * x35) + (0x2 * ((uint64_t) x21 * x33) + (0x2 * ((uint64_t) x23 * x31) + (0x2 * ((uint64_t) x25 * x29) + (uint64_t) x24 * x27))))))))));
- uint64_t x49 = (uint64_t) x5 * x47 + (0x2 * ((uint64_t) x7 * x45) + (0x2 * ((uint64_t) x9 * x43) + (0x2 * ((uint64_t) x11 * x41) + ((uint64_t) x13 * x39 + ((uint64_t) x15 * x37 + ((uint64_t) x17 * x35 + (0x2 * ((uint64_t) x19 * x33) + (0x2 * ((uint64_t) x21 * x31) + (0x2 * ((uint64_t) x23 * x29) + (uint64_t) x25 * x27))))))))) + 0x5 * ((uint64_t) x24 * x46);
- uint64_t x50 = (uint64_t) x5 * x45 + (0x2 * ((uint64_t) x7 * x43) + (0x2 * ((uint64_t) x9 * x41) + ((uint64_t) x11 * x39 + ((uint64_t) x13 * x37 + ((uint64_t) x15 * x35 + ((uint64_t) x17 * x33 + (0x2 * ((uint64_t) x19 * x31) + (0x2 * ((uint64_t) x21 * x29) + (uint64_t) x23 * x27)))))))) + 0x5 * ((uint64_t) x25 * x46 + (uint64_t) x24 * x47);
- uint64_t x51 = (uint64_t) x5 * x43 + (0x2 * ((uint64_t) x7 * x41) + ((uint64_t) x9 * x39 + ((uint64_t) x11 * x37 + ((uint64_t) x13 * x35 + ((uint64_t) x15 * x33 + ((uint64_t) x17 * x31 + (0x2 * ((uint64_t) x19 * x29) + (uint64_t) x21 * x27))))))) + 0x5 * ((uint64_t) x23 * x46 + ((uint64_t) x25 * x47 + (uint64_t) x24 * x45));
- uint64_t x52 = (uint64_t) x5 * x41 + ((uint64_t) x7 * x39 + ((uint64_t) x9 * x37 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + ((uint64_t) x15 * x31 + ((uint64_t) x17 * x29 + (uint64_t) x19 * x27)))))) + 0x5 * ((uint64_t) x21 * x46 + ((uint64_t) x23 * x47 + ((uint64_t) x25 * x45 + (uint64_t) x24 * x43)));
- uint64_t x53 = (uint64_t) x5 * x39 + (0x2 * ((uint64_t) x7 * x37) + (0x2 * ((uint64_t) x9 * x35) + (0x2 * ((uint64_t) x11 * x33) + (0x2 * ((uint64_t) x13 * x31) + (0x2 * ((uint64_t) x15 * x29) + (uint64_t) x17 * x27))))) + 0x5 * (0x2 * ((uint64_t) x19 * x46) + (0x2 * ((uint64_t) x21 * x47) + (0x2 * ((uint64_t) x23 * x45) + (0x2 * ((uint64_t) x25 * x43) + 0x2 * ((uint64_t) x24 * x41)))));
- uint64_t x54 = (uint64_t) x5 * x37 + (0x2 * ((uint64_t) x7 * x35) + (0x2 * ((uint64_t) x9 * x33) + (0x2 * ((uint64_t) x11 * x31) + (0x2 * ((uint64_t) x13 * x29) + (uint64_t) x15 * x27)))) + 0x5 * ((uint64_t) x17 * x46 + (0x2 * ((uint64_t) x19 * x47) + (0x2 * ((uint64_t) x21 * x45) + (0x2 * ((uint64_t) x23 * x43) + (0x2 * ((uint64_t) x25 * x41) + (uint64_t) x24 * x39)))));
- uint64_t x55 = (uint64_t) x5 * x35 + (0x2 * ((uint64_t) x7 * x33) + (0x2 * ((uint64_t) x9 * x31) + (0x2 * ((uint64_t) x11 * x29) + (uint64_t) x13 * x27))) + 0x5 * ((uint64_t) x15 * x46 + ((uint64_t) x17 * x47 + (0x2 * ((uint64_t) x19 * x45) + (0x2 * ((uint64_t) x21 * x43) + (0x2 * ((uint64_t) x23 * x41) + ((uint64_t) x25 * x39 + (uint64_t) x24 * x37))))));
- uint64_t x56 = (uint64_t) x5 * x33 + (0x2 * ((uint64_t) x7 * x31) + (0x2 * ((uint64_t) x9 * x29) + (uint64_t) x11 * x27)) + 0x5 * ((uint64_t) x13 * x46 + ((uint64_t) x15 * x47 + ((uint64_t) x17 * x45 + (0x2 * ((uint64_t) x19 * x43) + (0x2 * ((uint64_t) x21 * x41) + ((uint64_t) x23 * x39 + ((uint64_t) x25 * x37 + (uint64_t) x24 * x35)))))));
- uint64_t x57 = (uint64_t) x5 * x31 + (0x2 * ((uint64_t) x7 * x29) + (uint64_t) x9 * x27) + 0x5 * ((uint64_t) x11 * x46 + ((uint64_t) x13 * x47 + ((uint64_t) x15 * x45 + ((uint64_t) x17 * x43 + (0x2 * ((uint64_t) x19 * x41) + ((uint64_t) x21 * x39 + ((uint64_t) x23 * x37 + ((uint64_t) x25 * x35 + (uint64_t) x24 * x33))))))));
- uint64_t x58 = (uint64_t) x5 * x29 + (uint64_t) x7 * x27 + 0x5 * ((uint64_t) x9 * x46 + ((uint64_t) x11 * x47 + ((uint64_t) x13 * x45 + ((uint64_t) x15 * x43 + ((uint64_t) x17 * x41 + ((uint64_t) x19 * x39 + ((uint64_t) x21 * x37 + ((uint64_t) x23 * x35 + ((uint64_t) x25 * x33 + (uint64_t) x24 * x31)))))))));
- uint64_t x59 = (uint64_t) x5 * x27 + 0x5 * (0x2 * ((uint64_t) x7 * x46) + (0x2 * ((uint64_t) x9 * x47) + (0x2 * ((uint64_t) x11 * x45) + (0x2 * ((uint64_t) x13 * x43) + (0x2 * ((uint64_t) x15 * x41) + ((uint64_t) x17 * x39 + (0x2 * ((uint64_t) x19 * x37) + (0x2 * ((uint64_t) x21 * x35) + (0x2 * ((uint64_t) x23 * x33) + (0x2 * ((uint64_t) x25 * x31) + 0x2 * ((uint64_t) x24 * x29)))))))))));
+ uint64_t x48 = (((uint64_t)x5 * x46) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + ((0x2 * ((uint64_t)x19 * x35)) + ((0x2 * ((uint64_t)x21 * x33)) + ((0x2 * ((uint64_t)x23 * x31)) + ((0x2 * ((uint64_t)x25 * x29)) + ((uint64_t)x24 * x27))))))))))));
+ uint64_t x49 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((0x2 * ((uint64_t)x23 * x29)) + ((uint64_t)x25 * x27))))))))))) + (0x5 * ((uint64_t)x24 * x46)));
+ uint64_t x50 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + ((0x2 * ((uint64_t)x21 * x29)) + ((uint64_t)x23 * x27)))))))))) + (0x5 * (((uint64_t)x25 * x46) + ((uint64_t)x24 * x47))));
+ uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0x5 * (((uint64_t)x23 * x46) + (((uint64_t)x25 * x47) + ((uint64_t)x24 * x45)))));
+ uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + (0x5 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))));
+ uint64_t x53 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((uint64_t)x17 * x27))))))) + (0x5 * ((0x2 * ((uint64_t)x19 * x46)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + (0x2 * ((uint64_t)x24 * x41))))))));
+ uint64_t x54 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((0x2 * ((uint64_t)x13 * x29)) + ((uint64_t)x15 * x27)))))) + (0x5 * (((uint64_t)x17 * x46) + ((0x2 * ((uint64_t)x19 * x47)) + ((0x2 * ((uint64_t)x21 * x45)) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x24 * x39))))))));
+ uint64_t x55 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((uint64_t)x13 * x27))))) + (0x5 * (((uint64_t)x15 * x46) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + ((uint64_t)x24 * x37)))))))));
+ uint64_t x56 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((uint64_t)x11 * x27)))) + (0x5 * (((uint64_t)x13 * x46) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x24 * x35))))))))));
+ uint64_t x57 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((uint64_t)x9 * x27))) + (0x5 * (((uint64_t)x11 * x46) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + ((uint64_t)x24 * x33)))))))))));
+ uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (0x5 * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))));
+ uint64_t x59 = (((uint64_t)x5 * x27) + (0x5 * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
uint32_t x60 = (uint32_t) (x59 >> 0x12);
- uint32_t x61 = (uint32_t) x59 & 0x3ffff;
- uint64_t x62 = x60 + x58;
+ uint32_t x61 = ((uint32_t)x59 & 0x3ffff);
+ uint64_t x62 = (x60 + x58);
uint32_t x63 = (uint32_t) (x62 >> 0x11);
- uint32_t x64 = (uint32_t) x62 & 0x1ffff;
- uint64_t x65 = x63 + x57;
+ uint32_t x64 = ((uint32_t)x62 & 0x1ffff);
+ uint64_t x65 = (x63 + x57);
uint32_t x66 = (uint32_t) (x65 >> 0x11);
- uint32_t x67 = (uint32_t) x65 & 0x1ffff;
- uint64_t x68 = x66 + x56;
+ uint32_t x67 = ((uint32_t)x65 & 0x1ffff);
+ uint64_t x68 = (x66 + x56);
uint32_t x69 = (uint32_t) (x68 >> 0x11);
- uint32_t x70 = (uint32_t) x68 & 0x1ffff;
- uint64_t x71 = x69 + x55;
+ uint32_t x70 = ((uint32_t)x68 & 0x1ffff);
+ uint64_t x71 = (x69 + x55);
uint32_t x72 = (uint32_t) (x71 >> 0x11);
- uint32_t x73 = (uint32_t) x71 & 0x1ffff;
- uint64_t x74 = x72 + x54;
+ uint32_t x73 = ((uint32_t)x71 & 0x1ffff);
+ uint64_t x74 = (x72 + x54);
uint32_t x75 = (uint32_t) (x74 >> 0x11);
- uint32_t x76 = (uint32_t) x74 & 0x1ffff;
- uint64_t x77 = x75 + x53;
+ uint32_t x76 = ((uint32_t)x74 & 0x1ffff);
+ uint64_t x77 = (x75 + x53);
uint32_t x78 = (uint32_t) (x77 >> 0x12);
- uint32_t x79 = (uint32_t) x77 & 0x3ffff;
- uint64_t x80 = x78 + x52;
+ uint32_t x79 = ((uint32_t)x77 & 0x3ffff);
+ uint64_t x80 = (x78 + x52);
uint32_t x81 = (uint32_t) (x80 >> 0x11);
- uint32_t x82 = (uint32_t) x80 & 0x1ffff;
- uint64_t x83 = x81 + x51;
+ uint32_t x82 = ((uint32_t)x80 & 0x1ffff);
+ uint64_t x83 = (x81 + x51);
uint32_t x84 = (uint32_t) (x83 >> 0x11);
- uint32_t x85 = (uint32_t) x83 & 0x1ffff;
- uint64_t x86 = x84 + x50;
+ uint32_t x85 = ((uint32_t)x83 & 0x1ffff);
+ uint64_t x86 = (x84 + x50);
uint32_t x87 = (uint32_t) (x86 >> 0x11);
- uint32_t x88 = (uint32_t) x86 & 0x1ffff;
- uint64_t x89 = x87 + x49;
+ uint32_t x88 = ((uint32_t)x86 & 0x1ffff);
+ uint64_t x89 = (x87 + x49);
uint32_t x90 = (uint32_t) (x89 >> 0x11);
- uint32_t x91 = (uint32_t) x89 & 0x1ffff;
- uint64_t x92 = x90 + x48;
+ uint32_t x91 = ((uint32_t)x89 & 0x1ffff);
+ uint64_t x92 = (x90 + x48);
uint32_t x93 = (uint32_t) (x92 >> 0x11);
- uint32_t x94 = (uint32_t) x92 & 0x1ffff;
- uint32_t x95 = x61 + 0x5 * x93;
- uint32_t x96 = x95 >> 0x12;
- uint32_t x97 = x95 & 0x3ffff;
- uint32_t x98 = x96 + x64;
- uint32_t x99 = x98 >> 0x11;
- uint32_t x100 = x98 & 0x1ffff;
- return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, x99 + x67, Return x100, Return x97))
+ uint32_t x94 = ((uint32_t)x92 & 0x1ffff);
+ uint32_t x95 = (x61 + (0x5 * x93));
+ uint32_t x96 = (x95 >> 0x12);
+ uint32_t x97 = (x95 & 0x3ffff);
+ uint32_t x98 = (x96 + x64);
+ uint32_t x99 = (x98 >> 0x11);
+ uint32_t x100 = (x98 & 0x1ffff);
+ return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, (x99 + x67), Return x100, Return x97))
(x, x0)%core
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e206m5/fesquareDisplay.log b/src/Specific/solinas32_2e206m5/fesquareDisplay.log
index 59918953f..4d83fc22d 100644
--- a/src/Specific/solinas32_2e206m5/fesquareDisplay.log
+++ b/src/Specific/solinas32_2e206m5/fesquareDisplay.log
@@ -2,59 +2,59 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x23 = (uint64_t) x2 * x21 + (0x2 * ((uint64_t) x4 * x22) + (0x2 * ((uint64_t) x6 * x20) + (0x2 * ((uint64_t) x8 * x18) + (0x2 * ((uint64_t) x10 * x16) + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + (0x2 * ((uint64_t) x16 * x10) + (0x2 * ((uint64_t) x18 * x8) + (0x2 * ((uint64_t) x20 * x6) + (0x2 * ((uint64_t) x22 * x4) + (uint64_t) x21 * x2))))))))));
- uint64_t x24 = (uint64_t) x2 * x22 + (0x2 * ((uint64_t) x4 * x20) + (0x2 * ((uint64_t) x6 * x18) + (0x2 * ((uint64_t) x8 * x16) + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + (0x2 * ((uint64_t) x16 * x8) + (0x2 * ((uint64_t) x18 * x6) + (0x2 * ((uint64_t) x20 * x4) + (uint64_t) x22 * x2))))))))) + 0x5 * ((uint64_t) x21 * x21);
- uint64_t x25 = (uint64_t) x2 * x20 + (0x2 * ((uint64_t) x4 * x18) + (0x2 * ((uint64_t) x6 * x16) + ((uint64_t) x8 * x14 + ((uint64_t) x10 * x12 + ((uint64_t) x12 * x10 + ((uint64_t) x14 * x8 + (0x2 * ((uint64_t) x16 * x6) + (0x2 * ((uint64_t) x18 * x4) + (uint64_t) x20 * x2)))))))) + 0x5 * ((uint64_t) x22 * x21 + (uint64_t) x21 * x22);
- uint64_t x26 = (uint64_t) x2 * x18 + (0x2 * ((uint64_t) x4 * x16) + ((uint64_t) x6 * x14 + ((uint64_t) x8 * x12 + ((uint64_t) x10 * x10 + ((uint64_t) x12 * x8 + ((uint64_t) x14 * x6 + (0x2 * ((uint64_t) x16 * x4) + (uint64_t) x18 * x2))))))) + 0x5 * ((uint64_t) x20 * x21 + ((uint64_t) x22 * x22 + (uint64_t) x21 * x20));
- uint64_t x27 = (uint64_t) x2 * x16 + ((uint64_t) x4 * x14 + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + ((uint64_t) x14 * x4 + (uint64_t) x16 * x2)))))) + 0x5 * ((uint64_t) x18 * x21 + ((uint64_t) x20 * x22 + ((uint64_t) x22 * x20 + (uint64_t) x21 * x18)));
- uint64_t x28 = (uint64_t) x2 * x14 + (0x2 * ((uint64_t) x4 * x12) + (0x2 * ((uint64_t) x6 * x10) + (0x2 * ((uint64_t) x8 * x8) + (0x2 * ((uint64_t) x10 * x6) + (0x2 * ((uint64_t) x12 * x4) + (uint64_t) x14 * x2))))) + 0x5 * (0x2 * ((uint64_t) x16 * x21) + (0x2 * ((uint64_t) x18 * x22) + (0x2 * ((uint64_t) x20 * x20) + (0x2 * ((uint64_t) x22 * x18) + 0x2 * ((uint64_t) x21 * x16)))));
- uint64_t x29 = (uint64_t) x2 * x12 + (0x2 * ((uint64_t) x4 * x10) + (0x2 * ((uint64_t) x6 * x8) + (0x2 * ((uint64_t) x8 * x6) + (0x2 * ((uint64_t) x10 * x4) + (uint64_t) x12 * x2)))) + 0x5 * ((uint64_t) x14 * x21 + (0x2 * ((uint64_t) x16 * x22) + (0x2 * ((uint64_t) x18 * x20) + (0x2 * ((uint64_t) x20 * x18) + (0x2 * ((uint64_t) x22 * x16) + (uint64_t) x21 * x14)))));
- uint64_t x30 = (uint64_t) x2 * x10 + (0x2 * ((uint64_t) x4 * x8) + (0x2 * ((uint64_t) x6 * x6) + (0x2 * ((uint64_t) x8 * x4) + (uint64_t) x10 * x2))) + 0x5 * ((uint64_t) x12 * x21 + ((uint64_t) x14 * x22 + (0x2 * ((uint64_t) x16 * x20) + (0x2 * ((uint64_t) x18 * x18) + (0x2 * ((uint64_t) x20 * x16) + ((uint64_t) x22 * x14 + (uint64_t) x21 * x12))))));
- uint64_t x31 = (uint64_t) x2 * x8 + (0x2 * ((uint64_t) x4 * x6) + (0x2 * ((uint64_t) x6 * x4) + (uint64_t) x8 * x2)) + 0x5 * ((uint64_t) x10 * x21 + ((uint64_t) x12 * x22 + ((uint64_t) x14 * x20 + (0x2 * ((uint64_t) x16 * x18) + (0x2 * ((uint64_t) x18 * x16) + ((uint64_t) x20 * x14 + ((uint64_t) x22 * x12 + (uint64_t) x21 * x10)))))));
- uint64_t x32 = (uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2) + 0x5 * ((uint64_t) x8 * x21 + ((uint64_t) x10 * x22 + ((uint64_t) x12 * x20 + ((uint64_t) x14 * x18 + (0x2 * ((uint64_t) x16 * x16) + ((uint64_t) x18 * x14 + ((uint64_t) x20 * x12 + ((uint64_t) x22 * x10 + (uint64_t) x21 * x8))))))));
- uint64_t x33 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x5 * ((uint64_t) x6 * x21 + ((uint64_t) x8 * x22 + ((uint64_t) x10 * x20 + ((uint64_t) x12 * x18 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + ((uint64_t) x18 * x12 + ((uint64_t) x20 * x10 + ((uint64_t) x22 * x8 + (uint64_t) x21 * x6)))))))));
- uint64_t x34 = (uint64_t) x2 * x2 + 0x5 * (0x2 * ((uint64_t) x4 * x21) + (0x2 * ((uint64_t) x6 * x22) + (0x2 * ((uint64_t) x8 * x20) + (0x2 * ((uint64_t) x10 * x18) + (0x2 * ((uint64_t) x12 * x16) + ((uint64_t) x14 * x14 + (0x2 * ((uint64_t) x16 * x12) + (0x2 * ((uint64_t) x18 * x10) + (0x2 * ((uint64_t) x20 * x8) + (0x2 * ((uint64_t) x22 * x6) + 0x2 * ((uint64_t) x21 * x4)))))))))));
+ uint64_t x23 = (((uint64_t)x2 * x21) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x21 * x2))))))))))));
+ uint64_t x24 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x5 * ((uint64_t)x21 * x21)));
+ uint64_t x25 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x5 * (((uint64_t)x22 * x21) + ((uint64_t)x21 * x22))));
+ uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x5 * (((uint64_t)x20 * x21) + (((uint64_t)x22 * x22) + ((uint64_t)x21 * x20)))));
+ uint64_t x27 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x5 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))));
+ uint64_t x28 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x5 * ((0x2 * ((uint64_t)x16 * x21)) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + (0x2 * ((uint64_t)x21 * x16))))))));
+ uint64_t x29 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x5 * (((uint64_t)x14 * x21) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((uint64_t)x21 * x14))))))));
+ uint64_t x30 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x5 * (((uint64_t)x12 * x21) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + ((uint64_t)x21 * x12)))))))));
+ uint64_t x31 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x5 * (((uint64_t)x10 * x21) + (((uint64_t)x12 * x22) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + (((uint64_t)x22 * x12) + ((uint64_t)x21 * x10))))))))));
+ uint64_t x32 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x5 * (((uint64_t)x8 * x21) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + ((uint64_t)x21 * x8)))))))))));
+ uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x5 * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))));
+ uint64_t x34 = (((uint64_t)x2 * x2) + (0x5 * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
uint32_t x35 = (uint32_t) (x34 >> 0x12);
- uint32_t x36 = (uint32_t) x34 & 0x3ffff;
- uint64_t x37 = x35 + x33;
+ uint32_t x36 = ((uint32_t)x34 & 0x3ffff);
+ uint64_t x37 = (x35 + x33);
uint32_t x38 = (uint32_t) (x37 >> 0x11);
- uint32_t x39 = (uint32_t) x37 & 0x1ffff;
- uint64_t x40 = x38 + x32;
+ uint32_t x39 = ((uint32_t)x37 & 0x1ffff);
+ uint64_t x40 = (x38 + x32);
uint32_t x41 = (uint32_t) (x40 >> 0x11);
- uint32_t x42 = (uint32_t) x40 & 0x1ffff;
- uint64_t x43 = x41 + x31;
+ uint32_t x42 = ((uint32_t)x40 & 0x1ffff);
+ uint64_t x43 = (x41 + x31);
uint32_t x44 = (uint32_t) (x43 >> 0x11);
- uint32_t x45 = (uint32_t) x43 & 0x1ffff;
- uint64_t x46 = x44 + x30;
+ uint32_t x45 = ((uint32_t)x43 & 0x1ffff);
+ uint64_t x46 = (x44 + x30);
uint32_t x47 = (uint32_t) (x46 >> 0x11);
- uint32_t x48 = (uint32_t) x46 & 0x1ffff;
- uint64_t x49 = x47 + x29;
+ uint32_t x48 = ((uint32_t)x46 & 0x1ffff);
+ uint64_t x49 = (x47 + x29);
uint32_t x50 = (uint32_t) (x49 >> 0x11);
- uint32_t x51 = (uint32_t) x49 & 0x1ffff;
- uint64_t x52 = x50 + x28;
+ uint32_t x51 = ((uint32_t)x49 & 0x1ffff);
+ uint64_t x52 = (x50 + x28);
uint32_t x53 = (uint32_t) (x52 >> 0x12);
- uint32_t x54 = (uint32_t) x52 & 0x3ffff;
- uint64_t x55 = x53 + x27;
+ uint32_t x54 = ((uint32_t)x52 & 0x3ffff);
+ uint64_t x55 = (x53 + x27);
uint32_t x56 = (uint32_t) (x55 >> 0x11);
- uint32_t x57 = (uint32_t) x55 & 0x1ffff;
- uint64_t x58 = x56 + x26;
+ uint32_t x57 = ((uint32_t)x55 & 0x1ffff);
+ uint64_t x58 = (x56 + x26);
uint32_t x59 = (uint32_t) (x58 >> 0x11);
- uint32_t x60 = (uint32_t) x58 & 0x1ffff;
- uint64_t x61 = x59 + x25;
+ uint32_t x60 = ((uint32_t)x58 & 0x1ffff);
+ uint64_t x61 = (x59 + x25);
uint32_t x62 = (uint32_t) (x61 >> 0x11);
- uint32_t x63 = (uint32_t) x61 & 0x1ffff;
- uint64_t x64 = x62 + x24;
+ uint32_t x63 = ((uint32_t)x61 & 0x1ffff);
+ uint64_t x64 = (x62 + x24);
uint32_t x65 = (uint32_t) (x64 >> 0x11);
- uint32_t x66 = (uint32_t) x64 & 0x1ffff;
- uint64_t x67 = x65 + x23;
+ uint32_t x66 = ((uint32_t)x64 & 0x1ffff);
+ uint64_t x67 = (x65 + x23);
uint32_t x68 = (uint32_t) (x67 >> 0x11);
- uint32_t x69 = (uint32_t) x67 & 0x1ffff;
- uint32_t x70 = x36 + 0x5 * x68;
- uint32_t x71 = x70 >> 0x12;
- uint32_t x72 = x70 & 0x3ffff;
- uint32_t x73 = x71 + x39;
- uint32_t x74 = x73 >> 0x11;
- uint32_t x75 = x73 & 0x1ffff;
- return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, x74 + x42, Return x75, Return x72))
+ uint32_t x69 = ((uint32_t)x67 & 0x1ffff);
+ uint32_t x70 = (x36 + (0x5 * x68));
+ uint32_t x71 = (x70 >> 0x12);
+ uint32_t x72 = (x70 & 0x3ffff);
+ uint32_t x73 = (x71 + x39);
+ uint32_t x74 = (x73 >> 0x11);
+ uint32_t x75 = (x73 & 0x1ffff);
+ return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, (x74 + x42), Return x75, Return x72))
x
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e206m5/freezeDisplay.log b/src/Specific/solinas32_2e206m5/freezeDisplay.log
index 63202278e..7e1369ec7 100644
--- a/src/Specific/solinas32_2e206m5/freezeDisplay.log
+++ b/src/Specific/solinas32_2e206m5/freezeDisplay.log
@@ -15,29 +15,29 @@ Interp-η
uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x1ffff);
uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x1ffff);
uint32_t x59 = (uint32_t)cmovznz(x58, 0x0, 0xffffffff);
- uint32_t x60 = x59 & 0x3fffb;
+ uint32_t x60 = (x59 & 0x3fffb);
uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 18 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- uint32_t x64 = x59 & 0x1ffff;
+ uint32_t x64 = (x59 & 0x1ffff);
uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- uint32_t x68 = x59 & 0x1ffff;
+ uint32_t x68 = (x59 & 0x1ffff);
uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- uint32_t x72 = x59 & 0x1ffff;
+ uint32_t x72 = (x59 & 0x1ffff);
uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- uint32_t x76 = x59 & 0x1ffff;
+ uint32_t x76 = (x59 & 0x1ffff);
uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- uint32_t x80 = x59 & 0x1ffff;
+ uint32_t x80 = (x59 & 0x1ffff);
uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- uint32_t x84 = x59 & 0x3ffff;
+ uint32_t x84 = (x59 & 0x3ffff);
uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 18 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- uint32_t x88 = x59 & 0x1ffff;
+ uint32_t x88 = (x59 & 0x1ffff);
uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- uint32_t x92 = x59 & 0x1ffff;
+ uint32_t x92 = (x59 & 0x1ffff);
uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- uint32_t x96 = x59 & 0x1ffff;
+ uint32_t x96 = (x59 & 0x1ffff);
uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- uint32_t x100 = x59 & 0x1ffff;
+ uint32_t x100 = (x59 & 0x1ffff);
uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- uint32_t x104 = x59 & 0x1ffff;
+ uint32_t x104 = (x59 & 0x1ffff);
uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
(Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
x
diff --git a/src/Specific/solinas32_2e213m3/femulDisplay.log b/src/Specific/solinas32_2e213m3/femulDisplay.log
new file mode 100644
index 000000000..97fcc212f
--- /dev/null
+++ b/src/Specific/solinas32_2e213m3/femulDisplay.log
@@ -0,0 +1,72 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
+ uint64_t x60 = (((uint64_t)x5 * x58) + (((uint64_t)0x2 * (x7 * x59)) + (((uint64_t)0x2 * (x9 * x57)) + (((uint64_t)0x2 * (x11 * x55)) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)0x2 * (x17 * x49)) + (((uint64_t)0x2 * (x19 * x47)) + (((uint64_t)0x2 * (x21 * x45)) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)0x2 * (x27 * x39)) + (((uint64_t)0x2 * (x29 * x37)) + (((uint64_t)0x2 * (x31 * x35)) + ((uint64_t)x30 * x33)))))))))))))));
+ uint64_t x61 = ((((uint64_t)x5 * x59) + (((uint64_t)0x2 * (x7 * x57)) + (((uint64_t)0x2 * (x9 * x55)) + (((uint64_t)x11 * x53) + ((x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)0x2 * (x17 * x47)) + (((uint64_t)0x2 * (x19 * x45)) + (((uint64_t)x21 * x43) + ((x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)0x2 * (x27 * x37)) + (((uint64_t)0x2 * (x29 * x35)) + ((uint64_t)x31 * x33)))))))))))))) + ((uint64_t)0x3 * (x30 * x58)));
+ uint64_t x62 = ((((uint64_t)x5 * x57) + (((uint64_t)0x2 * (x7 * x55)) + (((uint64_t)x9 * x53) + ((x11 * x51) + ((x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)0x2 * (x17 * x45)) + (((uint64_t)x19 * x43) + ((x21 * x41) + ((x23 * x39) + (((uint64_t)x25 * x37) + (((uint64_t)0x2 * (x27 * x35)) + ((uint64_t)x29 * x33))))))))))))) + (0x3 * ((uint64_t)(x31 * x58) + (x30 * x59))));
+ uint64_t x63 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + ((x9 * x51) + ((x11 * x49) + ((x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((x19 * x41) + ((x21 * x39) + ((x23 * x37) + (((uint64_t)x25 * x35) + ((uint64_t)x27 * x33)))))))))))) + (0x3 * ((x29 * x58) + ((uint64_t)(x31 * x59) + (x30 * x57)))));
+ uint64_t x64 = ((((uint64_t)x5 * x53) + (((uint64_t)0x2 * (x7 * x51)) + (((uint64_t)0x2 * (x9 * x49)) + (((uint64_t)0x2 * (x11 * x47)) + (((uint64_t)0x2 * (x13 * x45)) + (((uint64_t)x15 * x43) + (((uint64_t)0x2 * (x17 * x41)) + (((uint64_t)0x2 * (x19 * x39)) + (((uint64_t)0x2 * (x21 * x37)) + (((uint64_t)0x2 * (x23 * x35)) + ((uint64_t)x25 * x33))))))))))) + (0x3 * (((uint64_t)0x2 * (x27 * x58)) + (((uint64_t)0x2 * (x29 * x59)) + (((uint64_t)0x2 * (x31 * x57)) + ((uint64_t)0x2 * (x30 * x55)))))));
+ uint64_t x65 = ((((uint64_t)x5 * x51) + (((uint64_t)0x2 * (x7 * x49)) + (((uint64_t)0x2 * (x9 * x47)) + (((uint64_t)0x2 * (x11 * x45)) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)0x2 * (x17 * x39)) + (((uint64_t)0x2 * (x19 * x37)) + (((uint64_t)0x2 * (x21 * x35)) + ((uint64_t)x23 * x33)))))))))) + (0x3 * (((uint64_t)x25 * x58) + (((uint64_t)0x2 * (x27 * x59)) + (((uint64_t)0x2 * (x29 * x57)) + (((uint64_t)0x2 * (x31 * x55)) + ((uint64_t)x30 * x53)))))));
+ uint64_t x66 = ((((uint64_t)x5 * x49) + (((uint64_t)0x2 * (x7 * x47)) + (((uint64_t)0x2 * (x9 * x45)) + (((uint64_t)x11 * x43) + ((x13 * x41) + (((uint64_t)x15 * x39) + (((uint64_t)0x2 * (x17 * x37)) + (((uint64_t)0x2 * (x19 * x35)) + ((uint64_t)x21 * x33))))))))) + (0x3 * ((x23 * x58) + (((uint64_t)x25 * x59) + (((uint64_t)0x2 * (x27 * x57)) + (((uint64_t)0x2 * (x29 * x55)) + (((uint64_t)x31 * x53) + (x30 * x51))))))));
+ uint64_t x67 = ((((uint64_t)x5 * x47) + (((uint64_t)0x2 * (x7 * x45)) + (((uint64_t)x9 * x43) + ((x11 * x41) + ((x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)0x2 * (x17 * x35)) + ((uint64_t)x19 * x33)))))))) + (0x3 * ((x21 * x58) + ((x23 * x59) + (((uint64_t)x25 * x57) + (((uint64_t)0x2 * (x27 * x55)) + (((uint64_t)x29 * x53) + ((uint64_t)(x31 * x51) + (x30 * x49)))))))));
+ uint64_t x68 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + ((x9 * x41) + ((x11 * x39) + ((x13 * x37) + (((uint64_t)x15 * x35) + ((uint64_t)x17 * x33))))))) + (0x3 * ((x19 * x58) + ((x21 * x59) + ((x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + ((x29 * x51) + ((uint64_t)(x31 * x49) + (x30 * x47))))))))));
+ uint64_t x69 = ((((uint64_t)x5 * x43) + (((uint64_t)0x2 * (x7 * x41)) + (((uint64_t)0x2 * (x9 * x39)) + (((uint64_t)0x2 * (x11 * x37)) + (((uint64_t)0x2 * (x13 * x35)) + ((uint64_t)x15 * x33)))))) + (0x3 * (((uint64_t)0x2 * (x17 * x58)) + (((uint64_t)0x2 * (x19 * x59)) + (((uint64_t)0x2 * (x21 * x57)) + (((uint64_t)0x2 * (x23 * x55)) + (((uint64_t)x25 * x53) + (((uint64_t)0x2 * (x27 * x51)) + (((uint64_t)0x2 * (x29 * x49)) + (((uint64_t)0x2 * (x31 * x47)) + ((uint64_t)0x2 * (x30 * x45))))))))))));
+ uint64_t x70 = ((((uint64_t)x5 * x41) + (((uint64_t)0x2 * (x7 * x39)) + (((uint64_t)0x2 * (x9 * x37)) + (((uint64_t)0x2 * (x11 * x35)) + ((uint64_t)x13 * x33))))) + (0x3 * (((uint64_t)x15 * x58) + (((uint64_t)0x2 * (x17 * x59)) + (((uint64_t)0x2 * (x19 * x57)) + (((uint64_t)0x2 * (x21 * x55)) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)0x2 * (x27 * x49)) + (((uint64_t)0x2 * (x29 * x47)) + (((uint64_t)0x2 * (x31 * x45)) + ((uint64_t)x30 * x43))))))))))));
+ uint64_t x71 = ((((uint64_t)x5 * x39) + (((uint64_t)0x2 * (x7 * x37)) + (((uint64_t)0x2 * (x9 * x35)) + ((uint64_t)x11 * x33)))) + (0x3 * ((x13 * x58) + (((uint64_t)x15 * x59) + (((uint64_t)0x2 * (x17 * x57)) + (((uint64_t)0x2 * (x19 * x55)) + (((uint64_t)x21 * x53) + ((x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)0x2 * (x27 * x47)) + (((uint64_t)0x2 * (x29 * x45)) + (((uint64_t)x31 * x43) + (x30 * x41)))))))))))));
+ uint64_t x72 = ((((uint64_t)x5 * x37) + (((uint64_t)0x2 * (x7 * x35)) + ((uint64_t)x9 * x33))) + (0x3 * ((x11 * x58) + ((x13 * x59) + (((uint64_t)x15 * x57) + (((uint64_t)0x2 * (x17 * x55)) + (((uint64_t)x19 * x53) + ((x21 * x51) + ((x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)0x2 * (x27 * x45)) + (((uint64_t)x29 * x43) + ((uint64_t)(x31 * x41) + (x30 * x39))))))))))))));
+ uint64_t x73 = ((((uint64_t)x5 * x35) + ((uint64_t)x7 * x33)) + (0x3 * ((x9 * x58) + ((x11 * x59) + ((x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + ((x19 * x51) + ((x21 * x49) + ((x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((x29 * x41) + ((uint64_t)(x31 * x39) + (x30 * x37)))))))))))))));
+ uint64_t x74 = (((uint64_t)x5 * x33) + (0x3 * (((uint64_t)0x2 * (x7 * x58)) + (((uint64_t)0x2 * (x9 * x59)) + (((uint64_t)0x2 * (x11 * x57)) + (((uint64_t)0x2 * (x13 * x55)) + (((uint64_t)x15 * x53) + (((uint64_t)0x2 * (x17 * x51)) + (((uint64_t)0x2 * (x19 * x49)) + (((uint64_t)0x2 * (x21 * x47)) + (((uint64_t)0x2 * (x23 * x45)) + (((uint64_t)x25 * x43) + (((uint64_t)0x2 * (x27 * x41)) + (((uint64_t)0x2 * (x29 * x39)) + (((uint64_t)0x2 * (x31 * x37)) + ((uint64_t)0x2 * (x30 * x35)))))))))))))))));
+ uint32_t x75 = (uint32_t) (x74 >> 0xf);
+ uint32_t x76 = ((uint32_t)x74 & 0x7fff);
+ uint64_t x77 = (x75 + x73);
+ uint32_t x78 = (uint32_t) (x77 >> 0xe);
+ uint32_t x79 = ((uint32_t)x77 & 0x3fff);
+ uint64_t x80 = (x78 + x72);
+ uint32_t x81 = (uint32_t) (x80 >> 0xe);
+ uint32_t x82 = ((uint32_t)x80 & 0x3fff);
+ uint64_t x83 = (x81 + x71);
+ uint32_t x84 = (uint32_t) (x83 >> 0xe);
+ uint32_t x85 = ((uint32_t)x83 & 0x3fff);
+ uint64_t x86 = (x84 + x70);
+ uint32_t x87 = (uint32_t) (x86 >> 0xe);
+ uint32_t x88 = ((uint32_t)x86 & 0x3fff);
+ uint64_t x89 = (x87 + x69);
+ uint32_t x90 = (uint32_t) (x89 >> 0xf);
+ uint32_t x91 = ((uint32_t)x89 & 0x7fff);
+ uint64_t x92 = (x90 + x68);
+ uint32_t x93 = (uint32_t) (x92 >> 0xe);
+ uint32_t x94 = ((uint32_t)x92 & 0x3fff);
+ uint64_t x95 = (x93 + x67);
+ uint32_t x96 = (uint32_t) (x95 >> 0xe);
+ uint32_t x97 = ((uint32_t)x95 & 0x3fff);
+ uint64_t x98 = (x96 + x66);
+ uint32_t x99 = (uint32_t) (x98 >> 0xe);
+ uint32_t x100 = ((uint32_t)x98 & 0x3fff);
+ uint64_t x101 = (x99 + x65);
+ uint32_t x102 = (uint32_t) (x101 >> 0xe);
+ uint32_t x103 = ((uint32_t)x101 & 0x3fff);
+ uint64_t x104 = (x102 + x64);
+ uint32_t x105 = (uint32_t) (x104 >> 0xf);
+ uint32_t x106 = ((uint32_t)x104 & 0x7fff);
+ uint64_t x107 = (x105 + x63);
+ uint32_t x108 = (uint32_t) (x107 >> 0xe);
+ uint32_t x109 = ((uint32_t)x107 & 0x3fff);
+ uint64_t x110 = (x108 + x62);
+ uint32_t x111 = (uint32_t) (x110 >> 0xe);
+ uint32_t x112 = ((uint32_t)x110 & 0x3fff);
+ uint64_t x113 = (x111 + x61);
+ uint32_t x114 = (uint32_t) (x113 >> 0xe);
+ uint32_t x115 = ((uint32_t)x113 & 0x3fff);
+ uint64_t x116 = (x114 + x60);
+ uint32_t x117 = (uint32_t) (x116 >> 0xe);
+ uint32_t x118 = ((uint32_t)x116 & 0x3fff);
+ uint32_t x119 = (x76 + (0x3 * x117));
+ uint32_t x120 = (x119 >> 0xf);
+ uint32_t x121 = (x119 & 0x7fff);
+ uint32_t x122 = (x120 + x79);
+ uint32_t x123 = (x122 >> 0xe);
+ uint32_t x124 = (x122 & 0x3fff);
+ return (Return x118, Return x115, Return x112, Return x109, Return x106, Return x103, Return x100, Return x97, Return x94, Return x91, Return x88, Return x85, (x123 + x82), Return x124, Return x121))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e213m3/fesquareDisplay.log b/src/Specific/solinas32_2e213m3/fesquareDisplay.log
new file mode 100644
index 000000000..912a186ea
--- /dev/null
+++ b/src/Specific/solinas32_2e213m3/fesquareDisplay.log
@@ -0,0 +1,72 @@
+λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
+ uint64_t x29 = (((uint64_t)x2 * x27) + (((uint64_t)0x2 * (x4 * x28)) + (((uint64_t)0x2 * (x6 * x26)) + (((uint64_t)0x2 * (x8 * x24)) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)0x2 * (x14 * x18)) + (((uint64_t)0x2 * (x16 * x16)) + (((uint64_t)0x2 * (x18 * x14)) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)0x2 * (x24 * x8)) + (((uint64_t)0x2 * (x26 * x6)) + (((uint64_t)0x2 * (x28 * x4)) + ((uint64_t)x27 * x2)))))))))))))));
+ uint64_t x30 = ((((uint64_t)x2 * x28) + (((uint64_t)0x2 * (x4 * x26)) + (((uint64_t)0x2 * (x6 * x24)) + (((uint64_t)x8 * x22) + ((x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)0x2 * (x14 * x16)) + (((uint64_t)0x2 * (x16 * x14)) + (((uint64_t)x18 * x12) + ((x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)0x2 * (x24 * x6)) + (((uint64_t)0x2 * (x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + ((uint64_t)0x3 * (x27 * x27)));
+ uint64_t x31 = ((((uint64_t)x2 * x26) + (((uint64_t)0x2 * (x4 * x24)) + (((uint64_t)x6 * x22) + ((x8 * x20) + ((x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)0x2 * (x14 * x14)) + (((uint64_t)x16 * x12) + ((x18 * x10) + ((x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)0x2 * (x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x3 * ((uint64_t)(x28 * x27) + (x27 * x28))));
+ uint64_t x32 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + ((x6 * x20) + ((x8 * x18) + ((x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((x16 * x10) + ((x18 * x8) + ((x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x3 * ((x26 * x27) + ((uint64_t)(x28 * x28) + (x27 * x26)))));
+ uint64_t x33 = ((((uint64_t)x2 * x22) + (((uint64_t)0x2 * (x4 * x20)) + (((uint64_t)0x2 * (x6 * x18)) + (((uint64_t)0x2 * (x8 * x16)) + (((uint64_t)0x2 * (x10 * x14)) + (((uint64_t)x12 * x12) + (((uint64_t)0x2 * (x14 * x10)) + (((uint64_t)0x2 * (x16 * x8)) + (((uint64_t)0x2 * (x18 * x6)) + (((uint64_t)0x2 * (x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x3 * (((uint64_t)0x2 * (x24 * x27)) + (((uint64_t)0x2 * (x26 * x28)) + (((uint64_t)0x2 * (x28 * x26)) + ((uint64_t)0x2 * (x27 * x24)))))));
+ uint64_t x34 = ((((uint64_t)x2 * x20) + (((uint64_t)0x2 * (x4 * x18)) + (((uint64_t)0x2 * (x6 * x16)) + (((uint64_t)0x2 * (x8 * x14)) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)0x2 * (x14 * x8)) + (((uint64_t)0x2 * (x16 * x6)) + (((uint64_t)0x2 * (x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x3 * (((uint64_t)x22 * x27) + (((uint64_t)0x2 * (x24 * x28)) + (((uint64_t)0x2 * (x26 * x26)) + (((uint64_t)0x2 * (x28 * x24)) + ((uint64_t)x27 * x22)))))));
+ uint64_t x35 = ((((uint64_t)x2 * x18) + (((uint64_t)0x2 * (x4 * x16)) + (((uint64_t)0x2 * (x6 * x14)) + (((uint64_t)x8 * x12) + ((x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)0x2 * (x14 * x6)) + (((uint64_t)0x2 * (x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x3 * ((x20 * x27) + (((uint64_t)x22 * x28) + (((uint64_t)0x2 * (x24 * x26)) + (((uint64_t)0x2 * (x26 * x24)) + (((uint64_t)x28 * x22) + (x27 * x20))))))));
+ uint64_t x36 = ((((uint64_t)x2 * x16) + (((uint64_t)0x2 * (x4 * x14)) + (((uint64_t)x6 * x12) + ((x8 * x10) + ((x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)0x2 * (x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x3 * ((x18 * x27) + ((x20 * x28) + (((uint64_t)x22 * x26) + (((uint64_t)0x2 * (x24 * x24)) + (((uint64_t)x26 * x22) + ((uint64_t)(x28 * x20) + (x27 * x18)))))))));
+ uint64_t x37 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + ((x6 * x10) + ((x8 * x8) + ((x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x3 * ((x16 * x27) + ((x18 * x28) + ((x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((x26 * x20) + ((uint64_t)(x28 * x18) + (x27 * x16))))))))));
+ uint64_t x38 = ((((uint64_t)x2 * x12) + (((uint64_t)0x2 * (x4 * x10)) + (((uint64_t)0x2 * (x6 * x8)) + (((uint64_t)0x2 * (x8 * x6)) + (((uint64_t)0x2 * (x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x3 * (((uint64_t)0x2 * (x14 * x27)) + (((uint64_t)0x2 * (x16 * x28)) + (((uint64_t)0x2 * (x18 * x26)) + (((uint64_t)0x2 * (x20 * x24)) + (((uint64_t)x22 * x22) + (((uint64_t)0x2 * (x24 * x20)) + (((uint64_t)0x2 * (x26 * x18)) + (((uint64_t)0x2 * (x28 * x16)) + ((uint64_t)0x2 * (x27 * x14))))))))))));
+ uint64_t x39 = ((((uint64_t)x2 * x10) + (((uint64_t)0x2 * (x4 * x8)) + (((uint64_t)0x2 * (x6 * x6)) + (((uint64_t)0x2 * (x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x3 * (((uint64_t)x12 * x27) + (((uint64_t)0x2 * (x14 * x28)) + (((uint64_t)0x2 * (x16 * x26)) + (((uint64_t)0x2 * (x18 * x24)) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)0x2 * (x24 * x18)) + (((uint64_t)0x2 * (x26 * x16)) + (((uint64_t)0x2 * (x28 * x14)) + ((uint64_t)x27 * x12))))))))))));
+ uint64_t x40 = ((((uint64_t)x2 * x8) + (((uint64_t)0x2 * (x4 * x6)) + (((uint64_t)0x2 * (x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * ((x10 * x27) + (((uint64_t)x12 * x28) + (((uint64_t)0x2 * (x14 * x26)) + (((uint64_t)0x2 * (x16 * x24)) + (((uint64_t)x18 * x22) + ((x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)0x2 * (x24 * x16)) + (((uint64_t)0x2 * (x26 * x14)) + (((uint64_t)x28 * x12) + (x27 * x10)))))))))))));
+ uint64_t x41 = ((((uint64_t)x2 * x6) + (((uint64_t)0x2 * (x4 * x4)) + ((uint64_t)x6 * x2))) + (0x3 * ((x8 * x27) + ((x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)0x2 * (x14 * x24)) + (((uint64_t)x16 * x22) + ((x18 * x20) + ((x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)0x2 * (x24 * x14)) + (((uint64_t)x26 * x12) + ((uint64_t)(x28 * x10) + (x27 * x8))))))))))))));
+ uint64_t x42 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * ((x6 * x27) + ((x8 * x28) + ((x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + ((x16 * x20) + ((x18 * x18) + ((x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((x26 * x10) + ((uint64_t)(x28 * x8) + (x27 * x6)))))))))))))));
+ uint64_t x43 = (((uint64_t)x2 * x2) + (0x3 * (((uint64_t)0x2 * (x4 * x27)) + (((uint64_t)0x2 * (x6 * x28)) + (((uint64_t)0x2 * (x8 * x26)) + (((uint64_t)0x2 * (x10 * x24)) + (((uint64_t)x12 * x22) + (((uint64_t)0x2 * (x14 * x20)) + (((uint64_t)0x2 * (x16 * x18)) + (((uint64_t)0x2 * (x18 * x16)) + (((uint64_t)0x2 * (x20 * x14)) + (((uint64_t)x22 * x12) + (((uint64_t)0x2 * (x24 * x10)) + (((uint64_t)0x2 * (x26 * x8)) + (((uint64_t)0x2 * (x28 * x6)) + ((uint64_t)0x2 * (x27 * x4)))))))))))))))));
+ uint32_t x44 = (uint32_t) (x43 >> 0xf);
+ uint32_t x45 = ((uint32_t)x43 & 0x7fff);
+ uint64_t x46 = (x44 + x42);
+ uint32_t x47 = (uint32_t) (x46 >> 0xe);
+ uint32_t x48 = ((uint32_t)x46 & 0x3fff);
+ uint64_t x49 = (x47 + x41);
+ uint32_t x50 = (uint32_t) (x49 >> 0xe);
+ uint32_t x51 = ((uint32_t)x49 & 0x3fff);
+ uint64_t x52 = (x50 + x40);
+ uint32_t x53 = (uint32_t) (x52 >> 0xe);
+ uint32_t x54 = ((uint32_t)x52 & 0x3fff);
+ uint64_t x55 = (x53 + x39);
+ uint32_t x56 = (uint32_t) (x55 >> 0xe);
+ uint32_t x57 = ((uint32_t)x55 & 0x3fff);
+ uint64_t x58 = (x56 + x38);
+ uint32_t x59 = (uint32_t) (x58 >> 0xf);
+ uint32_t x60 = ((uint32_t)x58 & 0x7fff);
+ uint64_t x61 = (x59 + x37);
+ uint32_t x62 = (uint32_t) (x61 >> 0xe);
+ uint32_t x63 = ((uint32_t)x61 & 0x3fff);
+ uint64_t x64 = (x62 + x36);
+ uint32_t x65 = (uint32_t) (x64 >> 0xe);
+ uint32_t x66 = ((uint32_t)x64 & 0x3fff);
+ uint64_t x67 = (x65 + x35);
+ uint32_t x68 = (uint32_t) (x67 >> 0xe);
+ uint32_t x69 = ((uint32_t)x67 & 0x3fff);
+ uint64_t x70 = (x68 + x34);
+ uint32_t x71 = (uint32_t) (x70 >> 0xe);
+ uint32_t x72 = ((uint32_t)x70 & 0x3fff);
+ uint64_t x73 = (x71 + x33);
+ uint32_t x74 = (uint32_t) (x73 >> 0xf);
+ uint32_t x75 = ((uint32_t)x73 & 0x7fff);
+ uint64_t x76 = (x74 + x32);
+ uint32_t x77 = (uint32_t) (x76 >> 0xe);
+ uint32_t x78 = ((uint32_t)x76 & 0x3fff);
+ uint64_t x79 = (x77 + x31);
+ uint32_t x80 = (uint32_t) (x79 >> 0xe);
+ uint32_t x81 = ((uint32_t)x79 & 0x3fff);
+ uint64_t x82 = (x80 + x30);
+ uint32_t x83 = (uint32_t) (x82 >> 0xe);
+ uint32_t x84 = ((uint32_t)x82 & 0x3fff);
+ uint64_t x85 = (x83 + x29);
+ uint32_t x86 = (uint32_t) (x85 >> 0xe);
+ uint32_t x87 = ((uint32_t)x85 & 0x3fff);
+ uint32_t x88 = (x45 + (0x3 * x86));
+ uint32_t x89 = (x88 >> 0xf);
+ uint32_t x90 = (x88 & 0x7fff);
+ uint32_t x91 = (x89 + x48);
+ uint32_t x92 = (x91 >> 0xe);
+ uint32_t x93 = (x91 & 0x3fff);
+ return (Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, (x92 + x51), Return x93, Return x90))
+x
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e213m3/freezeDisplay.log b/src/Specific/solinas32_2e213m3/freezeDisplay.log
new file mode 100644
index 000000000..526815e0d
--- /dev/null
+++ b/src/Specific/solinas32_2e213m3/freezeDisplay.log
@@ -0,0 +1,53 @@
+λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
+ uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 15 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, Const 32765);
+ uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x4, 0x3fff);
+ uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x6, 0x3fff);
+ uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x8, 0x3fff);
+ uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x10, 0x3fff);
+ uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 15 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x12, 0x7fff);
+ uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x14, 0x3fff);
+ uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x16, 0x3fff);
+ uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x18, 0x3fff);
+ uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x20, 0x3fff);
+ uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 15 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x22, 0x7fff);
+ uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x24, 0x3fff);
+ uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x26, 0x3fff);
+ uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x28, 0x3fff);
+ uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x27, 0x3fff);
+ uint32_t x74 = (uint32_t)cmovznz(x73, 0x0, 0xffffffff);
+ uint32_t x75 = (x74 & Const 32765);
+ uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 15 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x30, Return x75);
+ uint32_t x79 = (x74 & 0x3fff);
+ uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x33, Return x79);
+ uint32_t x83 = (x74 & 0x3fff);
+ uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x36, Return x83);
+ uint32_t x87 = (x74 & 0x3fff);
+ uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x39, Return x87);
+ uint32_t x91 = (x74 & 0x3fff);
+ uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x42, Return x91);
+ uint32_t x95 = (x74 & 0x7fff);
+ uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 15 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x45, Return x95);
+ uint32_t x99 = (x74 & 0x3fff);
+ uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x48, Return x99);
+ uint32_t x103 = (x74 & 0x3fff);
+ uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x51, Return x103);
+ uint32_t x107 = (x74 & 0x3fff);
+ uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x54, Return x107);
+ uint32_t x111 = (x74 & 0x3fff);
+ uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x57, Return x111);
+ uint32_t x115 = (x74 & 0x7fff);
+ uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 15 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x60, Return x115);
+ uint32_t x119 = (x74 & 0x3fff);
+ uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x63, Return x119);
+ uint32_t x123 = (x74 & 0x3fff);
+ uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x66, Return x123);
+ uint32_t x127 = (x74 & 0x3fff);
+ uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x69, Return x127);
+ uint32_t x131 = (x74 & 0x3fff);
+ uint32_t x133, uint8_t _ = Op (Syntax.AddWithGetCarry 14 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x72, Return x131);
+ (Return x133, Return x129, Return x125, Return x121, Return x117, Return x113, Return x109, Return x105, Return x101, Return x97, Return x93, Return x89, Return x85, Return x81, Return x77))
+x
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e255m765/femulDisplay.log b/src/Specific/solinas32_2e255m765/femulDisplay.log
index 52b2d11fa..bd79c323a 100644
--- a/src/Specific/solinas32_2e255m765/femulDisplay.log
+++ b/src/Specific/solinas32_2e255m765/femulDisplay.log
@@ -1,72 +1,60 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
Interp-η
(λ var : Syntax.base_type → Type,
- λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- uint64_t x60 = (uint64_t) x5 * x58 + ((uint64_t) x7 * x59 + ((uint64_t) x9 * x57 + ((uint64_t) x11 * x55 + ((uint64_t) x13 * x53 + ((uint64_t) x15 * x51 + ((uint64_t) x17 * x49 + ((uint64_t) x19 * x47 + ((uint64_t) x21 * x45 + ((uint64_t) x23 * x43 + ((uint64_t) x25 * x41 + ((uint64_t) x27 * x39 + ((uint64_t) x29 * x37 + ((uint64_t) x31 * x35 + (uint64_t) x30 * x33)))))))))))));
- uint64_t x61 = (uint64_t) x5 * x59 + ((uint64_t) x7 * x57 + ((uint64_t) x9 * x55 + ((uint64_t) x11 * x53 + ((uint64_t) x13 * x51 + ((uint64_t) x15 * x49 + ((uint64_t) x17 * x47 + ((uint64_t) x19 * x45 + ((uint64_t) x21 * x43 + ((uint64_t) x23 * x41 + ((uint64_t) x25 * x39 + ((uint64_t) x27 * x37 + ((uint64_t) x29 * x35 + (uint64_t) x31 * x33)))))))))))) + 0x2fd * ((uint64_t) x30 * x58);
- uint64_t x62 = (uint64_t) x5 * x57 + ((uint64_t) x7 * x55 + ((uint64_t) x9 * x53 + ((uint64_t) x11 * x51 + ((uint64_t) x13 * x49 + ((uint64_t) x15 * x47 + ((uint64_t) x17 * x45 + ((uint64_t) x19 * x43 + ((uint64_t) x21 * x41 + ((uint64_t) x23 * x39 + ((uint64_t) x25 * x37 + ((uint64_t) x27 * x35 + (uint64_t) x29 * x33))))))))))) + 0x2fd * ((uint64_t) x31 * x58 + (uint64_t) x30 * x59);
- uint64_t x63 = (uint64_t) x5 * x55 + ((uint64_t) x7 * x53 + ((uint64_t) x9 * x51 + ((uint64_t) x11 * x49 + ((uint64_t) x13 * x47 + ((uint64_t) x15 * x45 + ((uint64_t) x17 * x43 + ((uint64_t) x19 * x41 + ((uint64_t) x21 * x39 + ((uint64_t) x23 * x37 + ((uint64_t) x25 * x35 + (uint64_t) x27 * x33)))))))))) + 0x2fd * ((uint64_t) x29 * x58 + ((uint64_t) x31 * x59 + (uint64_t) x30 * x57));
- uint64_t x64 = (uint64_t) x5 * x53 + ((uint64_t) x7 * x51 + ((uint64_t) x9 * x49 + ((uint64_t) x11 * x47 + ((uint64_t) x13 * x45 + ((uint64_t) x15 * x43 + ((uint64_t) x17 * x41 + ((uint64_t) x19 * x39 + ((uint64_t) x21 * x37 + ((uint64_t) x23 * x35 + (uint64_t) x25 * x33))))))))) + 0x2fd * ((uint64_t) x27 * x58 + ((uint64_t) x29 * x59 + ((uint64_t) x31 * x57 + (uint64_t) x30 * x55)));
- uint64_t x65 = (uint64_t) x5 * x51 + ((uint64_t) x7 * x49 + ((uint64_t) x9 * x47 + ((uint64_t) x11 * x45 + ((uint64_t) x13 * x43 + ((uint64_t) x15 * x41 + ((uint64_t) x17 * x39 + ((uint64_t) x19 * x37 + ((uint64_t) x21 * x35 + (uint64_t) x23 * x33)))))))) + 0x2fd * ((uint64_t) x25 * x58 + ((uint64_t) x27 * x59 + ((uint64_t) x29 * x57 + ((uint64_t) x31 * x55 + (uint64_t) x30 * x53))));
- uint64_t x66 = (uint64_t) x5 * x49 + ((uint64_t) x7 * x47 + ((uint64_t) x9 * x45 + ((uint64_t) x11 * x43 + ((uint64_t) x13 * x41 + ((uint64_t) x15 * x39 + ((uint64_t) x17 * x37 + ((uint64_t) x19 * x35 + (uint64_t) x21 * x33))))))) + 0x2fd * ((uint64_t) x23 * x58 + ((uint64_t) x25 * x59 + ((uint64_t) x27 * x57 + ((uint64_t) x29 * x55 + ((uint64_t) x31 * x53 + (uint64_t) x30 * x51)))));
- uint64_t x67 = (uint64_t) x5 * x47 + ((uint64_t) x7 * x45 + ((uint64_t) x9 * x43 + ((uint64_t) x11 * x41 + ((uint64_t) x13 * x39 + ((uint64_t) x15 * x37 + ((uint64_t) x17 * x35 + (uint64_t) x19 * x33)))))) + 0x2fd * ((uint64_t) x21 * x58 + ((uint64_t) x23 * x59 + ((uint64_t) x25 * x57 + ((uint64_t) x27 * x55 + ((uint64_t) x29 * x53 + ((uint64_t) x31 * x51 + (uint64_t) x30 * x49))))));
- uint64_t x68 = (uint64_t) x5 * x45 + ((uint64_t) x7 * x43 + ((uint64_t) x9 * x41 + ((uint64_t) x11 * x39 + ((uint64_t) x13 * x37 + ((uint64_t) x15 * x35 + (uint64_t) x17 * x33))))) + 0x2fd * ((uint64_t) x19 * x58 + ((uint64_t) x21 * x59 + ((uint64_t) x23 * x57 + ((uint64_t) x25 * x55 + ((uint64_t) x27 * x53 + ((uint64_t) x29 * x51 + ((uint64_t) x31 * x49 + (uint64_t) x30 * x47)))))));
- uint64_t x69 = (uint64_t) x5 * x43 + ((uint64_t) x7 * x41 + ((uint64_t) x9 * x39 + ((uint64_t) x11 * x37 + ((uint64_t) x13 * x35 + (uint64_t) x15 * x33)))) + 0x2fd * ((uint64_t) x17 * x58 + ((uint64_t) x19 * x59 + ((uint64_t) x21 * x57 + ((uint64_t) x23 * x55 + ((uint64_t) x25 * x53 + ((uint64_t) x27 * x51 + ((uint64_t) x29 * x49 + ((uint64_t) x31 * x47 + (uint64_t) x30 * x45))))))));
- uint64_t x70 = (uint64_t) x5 * x41 + ((uint64_t) x7 * x39 + ((uint64_t) x9 * x37 + ((uint64_t) x11 * x35 + (uint64_t) x13 * x33))) + 0x2fd * ((uint64_t) x15 * x58 + ((uint64_t) x17 * x59 + ((uint64_t) x19 * x57 + ((uint64_t) x21 * x55 + ((uint64_t) x23 * x53 + ((uint64_t) x25 * x51 + ((uint64_t) x27 * x49 + ((uint64_t) x29 * x47 + ((uint64_t) x31 * x45 + (uint64_t) x30 * x43)))))))));
- uint64_t x71 = (uint64_t) x5 * x39 + ((uint64_t) x7 * x37 + ((uint64_t) x9 * x35 + (uint64_t) x11 * x33)) + 0x2fd * ((uint64_t) x13 * x58 + ((uint64_t) x15 * x59 + ((uint64_t) x17 * x57 + ((uint64_t) x19 * x55 + ((uint64_t) x21 * x53 + ((uint64_t) x23 * x51 + ((uint64_t) x25 * x49 + ((uint64_t) x27 * x47 + ((uint64_t) x29 * x45 + ((uint64_t) x31 * x43 + (uint64_t) x30 * x41))))))))));
- uint64_t x72 = (uint64_t) x5 * x37 + ((uint64_t) x7 * x35 + (uint64_t) x9 * x33) + 0x2fd * ((uint64_t) x11 * x58 + ((uint64_t) x13 * x59 + ((uint64_t) x15 * x57 + ((uint64_t) x17 * x55 + ((uint64_t) x19 * x53 + ((uint64_t) x21 * x51 + ((uint64_t) x23 * x49 + ((uint64_t) x25 * x47 + ((uint64_t) x27 * x45 + ((uint64_t) x29 * x43 + ((uint64_t) x31 * x41 + (uint64_t) x30 * x39)))))))))));
- uint64_t x73 = (uint64_t) x5 * x35 + (uint64_t) x7 * x33 + 0x2fd * ((uint64_t) x9 * x58 + ((uint64_t) x11 * x59 + ((uint64_t) x13 * x57 + ((uint64_t) x15 * x55 + ((uint64_t) x17 * x53 + ((uint64_t) x19 * x51 + ((uint64_t) x21 * x49 + ((uint64_t) x23 * x47 + ((uint64_t) x25 * x45 + ((uint64_t) x27 * x43 + ((uint64_t) x29 * x41 + ((uint64_t) x31 * x39 + (uint64_t) x30 * x37))))))))))));
- uint64_t x74 = (uint64_t) x5 * x33 + 0x2fd * ((uint64_t) x7 * x58 + ((uint64_t) x9 * x59 + ((uint64_t) x11 * x57 + ((uint64_t) x13 * x55 + ((uint64_t) x15 * x53 + ((uint64_t) x17 * x51 + ((uint64_t) x19 * x49 + ((uint64_t) x21 * x47 + ((uint64_t) x23 * x45 + ((uint64_t) x25 * x43 + ((uint64_t) x27 * x41 + ((uint64_t) x29 * x39 + ((uint64_t) x31 * x37 + (uint64_t) x30 * x35)))))))))))));
- uint32_t x75 = (uint32_t) (x74 >> 0x11);
- uint32_t x76 = (uint32_t) x74 & 0x1ffff;
- uint64_t x77 = x75 + x73;
- uint32_t x78 = (uint32_t) (x77 >> 0x11);
- uint32_t x79 = (uint32_t) x77 & 0x1ffff;
- uint64_t x80 = x78 + x72;
- uint32_t x81 = (uint32_t) (x80 >> 0x11);
- uint32_t x82 = (uint32_t) x80 & 0x1ffff;
- uint64_t x83 = x81 + x71;
- uint32_t x84 = (uint32_t) (x83 >> 0x11);
- uint32_t x85 = (uint32_t) x83 & 0x1ffff;
- uint64_t x86 = x84 + x70;
- uint32_t x87 = (uint32_t) (x86 >> 0x11);
- uint32_t x88 = (uint32_t) x86 & 0x1ffff;
- uint64_t x89 = x87 + x69;
- uint32_t x90 = (uint32_t) (x89 >> 0x11);
- uint32_t x91 = (uint32_t) x89 & 0x1ffff;
- uint64_t x92 = x90 + x68;
- uint32_t x93 = (uint32_t) (x92 >> 0x11);
- uint32_t x94 = (uint32_t) x92 & 0x1ffff;
- uint64_t x95 = x93 + x67;
- uint32_t x96 = (uint32_t) (x95 >> 0x11);
- uint32_t x97 = (uint32_t) x95 & 0x1ffff;
- uint64_t x98 = x96 + x66;
- uint32_t x99 = (uint32_t) (x98 >> 0x11);
- uint32_t x100 = (uint32_t) x98 & 0x1ffff;
- uint64_t x101 = x99 + x65;
- uint32_t x102 = (uint32_t) (x101 >> 0x11);
- uint32_t x103 = (uint32_t) x101 & 0x1ffff;
- uint64_t x104 = x102 + x64;
- uint32_t x105 = (uint32_t) (x104 >> 0x11);
- uint32_t x106 = (uint32_t) x104 & 0x1ffff;
- uint64_t x107 = x105 + x63;
- uint32_t x108 = (uint32_t) (x107 >> 0x11);
- uint32_t x109 = (uint32_t) x107 & 0x1ffff;
- uint64_t x110 = x108 + x62;
- uint32_t x111 = (uint32_t) (x110 >> 0x11);
- uint32_t x112 = (uint32_t) x110 & 0x1ffff;
- uint64_t x113 = x111 + x61;
- uint32_t x114 = (uint32_t) (x113 >> 0x11);
- uint32_t x115 = (uint32_t) x113 & 0x1ffff;
- uint64_t x116 = x114 + x60;
- uint32_t x117 = (uint32_t) (x116 >> 0x11);
- uint32_t x118 = (uint32_t) x116 & 0x1ffff;
- uint32_t x119 = x76 + 0x2fd * x117;
- uint32_t x120 = x119 >> 0x11;
- uint32_t x121 = x119 & 0x1ffff;
- uint32_t x122 = x120 + x79;
- uint32_t x123 = x122 >> 0x11;
- uint32_t x124 = x122 & 0x1ffff;
- return (Return x118, Return x115, Return x112, Return x109, Return x106, Return x103, Return x100, Return x97, Return x94, Return x91, Return x88, Return x85, x123 + x82, Return x124, Return x121))
+ λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
+ uint64_t x48 = (((uint64_t)x5 * x46) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((0x2 * ((uint64_t)x23 * x31)) + ((0x2 * ((uint64_t)x25 * x29)) + ((uint64_t)x24 * x27))))))))))));
+ uint64_t x49 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + ((0x2 * ((uint64_t)x15 * x37)) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((0x2 * ((uint64_t)x23 * x29)) + ((uint64_t)x25 * x27))))))))))) + (0x2fd * ((uint64_t)x24 * x46)));
+ uint64_t x50 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x23 * x27)))))))))) + (0x2fd * (((uint64_t)x25 * x46) + ((uint64_t)x24 * x47))));
+ uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0x2fd * ((0x2 * ((uint64_t)x23 * x46)) + ((0x2 * ((uint64_t)x25 * x47)) + (0x2 * ((uint64_t)x24 * x45))))));
+ uint64_t x52 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + ((uint64_t)x19 * x27)))))))) + (0x2fd * (((uint64_t)x21 * x46) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((uint64_t)x24 * x43))))));
+ uint64_t x53 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + ((uint64_t)x17 * x27))))))) + (0x2fd * (((uint64_t)x19 * x46) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((uint64_t)x24 * x41)))))));
+ uint64_t x54 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) + (0x2fd * (((uint64_t)x17 * x46) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x24 * x39))))))));
+ uint64_t x55 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((uint64_t)x13 * x27))))) + (0x2fd * ((0x2 * ((uint64_t)x15 * x46)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + (0x2 * ((uint64_t)x24 * x37))))))))));
+ uint64_t x56 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((uint64_t)x11 * x27)))) + (0x2fd * (((uint64_t)x13 * x46) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((uint64_t)x24 * x35))))))))));
+ uint64_t x57 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((uint64_t)x9 * x27))) + (0x2fd * (((uint64_t)x11 * x46) + (((uint64_t)x13 * x47) + ((0x2 * ((uint64_t)x15 * x45)) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + ((0x2 * ((uint64_t)x23 * x37)) + (((uint64_t)x25 * x35) + ((uint64_t)x24 * x33)))))))))));
+ uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (0x2fd * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))));
+ uint64_t x59 = (((uint64_t)x5 * x27) + (0x2fd * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((0x2 * ((uint64_t)x23 * x33)) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
+ uint64_t x60 = (x59 >> 0x16);
+ uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
+ uint64_t x62 = (x60 + x58);
+ uint64_t x63 = (x62 >> 0x15);
+ uint32_t x64 = ((uint32_t)x62 & 0x1fffff);
+ uint64_t x65 = (x63 + x57);
+ uint64_t x66 = (x65 >> 0x15);
+ uint32_t x67 = ((uint32_t)x65 & 0x1fffff);
+ uint64_t x68 = (x66 + x56);
+ uint64_t x69 = (x68 >> 0x15);
+ uint32_t x70 = ((uint32_t)x68 & 0x1fffff);
+ uint64_t x71 = (x69 + x55);
+ uint64_t x72 = (x71 >> 0x16);
+ uint32_t x73 = ((uint32_t)x71 & 0x3fffff);
+ uint64_t x74 = (x72 + x54);
+ uint64_t x75 = (x74 >> 0x15);
+ uint32_t x76 = ((uint32_t)x74 & 0x1fffff);
+ uint64_t x77 = (x75 + x53);
+ uint64_t x78 = (x77 >> 0x15);
+ uint32_t x79 = ((uint32_t)x77 & 0x1fffff);
+ uint64_t x80 = (x78 + x52);
+ uint64_t x81 = (x80 >> 0x15);
+ uint32_t x82 = ((uint32_t)x80 & 0x1fffff);
+ uint64_t x83 = (x81 + x51);
+ uint64_t x84 = (x83 >> 0x16);
+ uint32_t x85 = ((uint32_t)x83 & 0x3fffff);
+ uint64_t x86 = (x84 + x50);
+ uint64_t x87 = (x86 >> 0x15);
+ uint32_t x88 = ((uint32_t)x86 & 0x1fffff);
+ uint64_t x89 = (x87 + x49);
+ uint64_t x90 = (x89 >> 0x15);
+ uint32_t x91 = ((uint32_t)x89 & 0x1fffff);
+ uint64_t x92 = (x90 + x48);
+ uint32_t x93 = (uint32_t) (x92 >> 0x15);
+ uint32_t x94 = ((uint32_t)x92 & 0x1fffff);
+ uint64_t x95 = (x61 + ((uint64_t)0x2fd * x93));
+ uint32_t x96 = (uint32_t) (x95 >> 0x16);
+ uint32_t x97 = ((uint32_t)x95 & 0x3fffff);
+ uint32_t x98 = (x96 + x64);
+ uint32_t x99 = (x98 >> 0x15);
+ uint32_t x100 = (x98 & 0x1fffff);
+ return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, (x99 + x67), Return x100, Return x97))
(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e255m765/fesquareDisplay.log b/src/Specific/solinas32_2e255m765/fesquareDisplay.log
index 49e6dfa61..7ac4be662 100644
--- a/src/Specific/solinas32_2e255m765/fesquareDisplay.log
+++ b/src/Specific/solinas32_2e255m765/fesquareDisplay.log
@@ -1,72 +1,60 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
Interp-η
(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x29 = (uint64_t) x2 * x27 + ((uint64_t) x4 * x28 + ((uint64_t) x6 * x26 + ((uint64_t) x8 * x24 + ((uint64_t) x10 * x22 + ((uint64_t) x12 * x20 + ((uint64_t) x14 * x18 + ((uint64_t) x16 * x16 + ((uint64_t) x18 * x14 + ((uint64_t) x20 * x12 + ((uint64_t) x22 * x10 + ((uint64_t) x24 * x8 + ((uint64_t) x26 * x6 + ((uint64_t) x28 * x4 + (uint64_t) x27 * x2)))))))))))));
- uint64_t x30 = (uint64_t) x2 * x28 + ((uint64_t) x4 * x26 + ((uint64_t) x6 * x24 + ((uint64_t) x8 * x22 + ((uint64_t) x10 * x20 + ((uint64_t) x12 * x18 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + ((uint64_t) x18 * x12 + ((uint64_t) x20 * x10 + ((uint64_t) x22 * x8 + ((uint64_t) x24 * x6 + ((uint64_t) x26 * x4 + (uint64_t) x28 * x2)))))))))))) + 0x2fd * ((uint64_t) x27 * x27);
- uint64_t x31 = (uint64_t) x2 * x26 + ((uint64_t) x4 * x24 + ((uint64_t) x6 * x22 + ((uint64_t) x8 * x20 + ((uint64_t) x10 * x18 + ((uint64_t) x12 * x16 + ((uint64_t) x14 * x14 + ((uint64_t) x16 * x12 + ((uint64_t) x18 * x10 + ((uint64_t) x20 * x8 + ((uint64_t) x22 * x6 + ((uint64_t) x24 * x4 + (uint64_t) x26 * x2))))))))))) + 0x2fd * ((uint64_t) x28 * x27 + (uint64_t) x27 * x28);
- uint64_t x32 = (uint64_t) x2 * x24 + ((uint64_t) x4 * x22 + ((uint64_t) x6 * x20 + ((uint64_t) x8 * x18 + ((uint64_t) x10 * x16 + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + ((uint64_t) x16 * x10 + ((uint64_t) x18 * x8 + ((uint64_t) x20 * x6 + ((uint64_t) x22 * x4 + (uint64_t) x24 * x2)))))))))) + 0x2fd * ((uint64_t) x26 * x27 + ((uint64_t) x28 * x28 + (uint64_t) x27 * x26));
- uint64_t x33 = (uint64_t) x2 * x22 + ((uint64_t) x4 * x20 + ((uint64_t) x6 * x18 + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + ((uint64_t) x18 * x6 + ((uint64_t) x20 * x4 + (uint64_t) x22 * x2))))))))) + 0x2fd * ((uint64_t) x24 * x27 + ((uint64_t) x26 * x28 + ((uint64_t) x28 * x26 + (uint64_t) x27 * x24)));
- uint64_t x34 = (uint64_t) x2 * x20 + ((uint64_t) x4 * x18 + ((uint64_t) x6 * x16 + ((uint64_t) x8 * x14 + ((uint64_t) x10 * x12 + ((uint64_t) x12 * x10 + ((uint64_t) x14 * x8 + ((uint64_t) x16 * x6 + ((uint64_t) x18 * x4 + (uint64_t) x20 * x2)))))))) + 0x2fd * ((uint64_t) x22 * x27 + ((uint64_t) x24 * x28 + ((uint64_t) x26 * x26 + ((uint64_t) x28 * x24 + (uint64_t) x27 * x22))));
- uint64_t x35 = (uint64_t) x2 * x18 + ((uint64_t) x4 * x16 + ((uint64_t) x6 * x14 + ((uint64_t) x8 * x12 + ((uint64_t) x10 * x10 + ((uint64_t) x12 * x8 + ((uint64_t) x14 * x6 + ((uint64_t) x16 * x4 + (uint64_t) x18 * x2))))))) + 0x2fd * ((uint64_t) x20 * x27 + ((uint64_t) x22 * x28 + ((uint64_t) x24 * x26 + ((uint64_t) x26 * x24 + ((uint64_t) x28 * x22 + (uint64_t) x27 * x20)))));
- uint64_t x36 = (uint64_t) x2 * x16 + ((uint64_t) x4 * x14 + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + ((uint64_t) x14 * x4 + (uint64_t) x16 * x2)))))) + 0x2fd * ((uint64_t) x18 * x27 + ((uint64_t) x20 * x28 + ((uint64_t) x22 * x26 + ((uint64_t) x24 * x24 + ((uint64_t) x26 * x22 + ((uint64_t) x28 * x20 + (uint64_t) x27 * x18))))));
- uint64_t x37 = (uint64_t) x2 * x14 + ((uint64_t) x4 * x12 + ((uint64_t) x6 * x10 + ((uint64_t) x8 * x8 + ((uint64_t) x10 * x6 + ((uint64_t) x12 * x4 + (uint64_t) x14 * x2))))) + 0x2fd * ((uint64_t) x16 * x27 + ((uint64_t) x18 * x28 + ((uint64_t) x20 * x26 + ((uint64_t) x22 * x24 + ((uint64_t) x24 * x22 + ((uint64_t) x26 * x20 + ((uint64_t) x28 * x18 + (uint64_t) x27 * x16)))))));
- uint64_t x38 = (uint64_t) x2 * x12 + ((uint64_t) x4 * x10 + ((uint64_t) x6 * x8 + ((uint64_t) x8 * x6 + ((uint64_t) x10 * x4 + (uint64_t) x12 * x2)))) + 0x2fd * ((uint64_t) x14 * x27 + ((uint64_t) x16 * x28 + ((uint64_t) x18 * x26 + ((uint64_t) x20 * x24 + ((uint64_t) x22 * x22 + ((uint64_t) x24 * x20 + ((uint64_t) x26 * x18 + ((uint64_t) x28 * x16 + (uint64_t) x27 * x14))))))));
- uint64_t x39 = (uint64_t) x2 * x10 + ((uint64_t) x4 * x8 + ((uint64_t) x6 * x6 + ((uint64_t) x8 * x4 + (uint64_t) x10 * x2))) + 0x2fd * ((uint64_t) x12 * x27 + ((uint64_t) x14 * x28 + ((uint64_t) x16 * x26 + ((uint64_t) x18 * x24 + ((uint64_t) x20 * x22 + ((uint64_t) x22 * x20 + ((uint64_t) x24 * x18 + ((uint64_t) x26 * x16 + ((uint64_t) x28 * x14 + (uint64_t) x27 * x12)))))))));
- uint64_t x40 = (uint64_t) x2 * x8 + ((uint64_t) x4 * x6 + ((uint64_t) x6 * x4 + (uint64_t) x8 * x2)) + 0x2fd * ((uint64_t) x10 * x27 + ((uint64_t) x12 * x28 + ((uint64_t) x14 * x26 + ((uint64_t) x16 * x24 + ((uint64_t) x18 * x22 + ((uint64_t) x20 * x20 + ((uint64_t) x22 * x18 + ((uint64_t) x24 * x16 + ((uint64_t) x26 * x14 + ((uint64_t) x28 * x12 + (uint64_t) x27 * x10))))))))));
- uint64_t x41 = (uint64_t) x2 * x6 + ((uint64_t) x4 * x4 + (uint64_t) x6 * x2) + 0x2fd * ((uint64_t) x8 * x27 + ((uint64_t) x10 * x28 + ((uint64_t) x12 * x26 + ((uint64_t) x14 * x24 + ((uint64_t) x16 * x22 + ((uint64_t) x18 * x20 + ((uint64_t) x20 * x18 + ((uint64_t) x22 * x16 + ((uint64_t) x24 * x14 + ((uint64_t) x26 * x12 + ((uint64_t) x28 * x10 + (uint64_t) x27 * x8)))))))))));
- uint64_t x42 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x2fd * ((uint64_t) x6 * x27 + ((uint64_t) x8 * x28 + ((uint64_t) x10 * x26 + ((uint64_t) x12 * x24 + ((uint64_t) x14 * x22 + ((uint64_t) x16 * x20 + ((uint64_t) x18 * x18 + ((uint64_t) x20 * x16 + ((uint64_t) x22 * x14 + ((uint64_t) x24 * x12 + ((uint64_t) x26 * x10 + ((uint64_t) x28 * x8 + (uint64_t) x27 * x6))))))))))));
- uint64_t x43 = (uint64_t) x2 * x2 + 0x2fd * ((uint64_t) x4 * x27 + ((uint64_t) x6 * x28 + ((uint64_t) x8 * x26 + ((uint64_t) x10 * x24 + ((uint64_t) x12 * x22 + ((uint64_t) x14 * x20 + ((uint64_t) x16 * x18 + ((uint64_t) x18 * x16 + ((uint64_t) x20 * x14 + ((uint64_t) x22 * x12 + ((uint64_t) x24 * x10 + ((uint64_t) x26 * x8 + ((uint64_t) x28 * x6 + (uint64_t) x27 * x4)))))))))))));
- uint32_t x44 = (uint32_t) (x43 >> 0x11);
- uint32_t x45 = (uint32_t) x43 & 0x1ffff;
- uint64_t x46 = x44 + x42;
- uint32_t x47 = (uint32_t) (x46 >> 0x11);
- uint32_t x48 = (uint32_t) x46 & 0x1ffff;
- uint64_t x49 = x47 + x41;
- uint32_t x50 = (uint32_t) (x49 >> 0x11);
- uint32_t x51 = (uint32_t) x49 & 0x1ffff;
- uint64_t x52 = x50 + x40;
- uint32_t x53 = (uint32_t) (x52 >> 0x11);
- uint32_t x54 = (uint32_t) x52 & 0x1ffff;
- uint64_t x55 = x53 + x39;
- uint32_t x56 = (uint32_t) (x55 >> 0x11);
- uint32_t x57 = (uint32_t) x55 & 0x1ffff;
- uint64_t x58 = x56 + x38;
- uint32_t x59 = (uint32_t) (x58 >> 0x11);
- uint32_t x60 = (uint32_t) x58 & 0x1ffff;
- uint64_t x61 = x59 + x37;
- uint32_t x62 = (uint32_t) (x61 >> 0x11);
- uint32_t x63 = (uint32_t) x61 & 0x1ffff;
- uint64_t x64 = x62 + x36;
- uint32_t x65 = (uint32_t) (x64 >> 0x11);
- uint32_t x66 = (uint32_t) x64 & 0x1ffff;
- uint64_t x67 = x65 + x35;
- uint32_t x68 = (uint32_t) (x67 >> 0x11);
- uint32_t x69 = (uint32_t) x67 & 0x1ffff;
- uint64_t x70 = x68 + x34;
- uint32_t x71 = (uint32_t) (x70 >> 0x11);
- uint32_t x72 = (uint32_t) x70 & 0x1ffff;
- uint64_t x73 = x71 + x33;
- uint32_t x74 = (uint32_t) (x73 >> 0x11);
- uint32_t x75 = (uint32_t) x73 & 0x1ffff;
- uint64_t x76 = x74 + x32;
- uint32_t x77 = (uint32_t) (x76 >> 0x11);
- uint32_t x78 = (uint32_t) x76 & 0x1ffff;
- uint64_t x79 = x77 + x31;
- uint32_t x80 = (uint32_t) (x79 >> 0x11);
- uint32_t x81 = (uint32_t) x79 & 0x1ffff;
- uint64_t x82 = x80 + x30;
- uint32_t x83 = (uint32_t) (x82 >> 0x11);
- uint32_t x84 = (uint32_t) x82 & 0x1ffff;
- uint64_t x85 = x83 + x29;
- uint32_t x86 = (uint32_t) (x85 >> 0x11);
- uint32_t x87 = (uint32_t) x85 & 0x1ffff;
- uint32_t x88 = x45 + 0x2fd * x86;
- uint32_t x89 = x88 >> 0x11;
- uint32_t x90 = x88 & 0x1ffff;
- uint32_t x91 = x89 + x48;
- uint32_t x92 = x91 >> 0x11;
- uint32_t x93 = x91 & 0x1ffff;
- return (Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, x92 + x51, Return x93, Return x90))
+ λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
+ uint64_t x23 = (((uint64_t)x2 * x21) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x21 * x2))))))))))));
+ uint64_t x24 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x2fd * ((uint64_t)x21 * x21)));
+ uint64_t x25 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x2fd * (((uint64_t)x22 * x21) + ((uint64_t)x21 * x22))));
+ uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x2fd * ((0x2 * ((uint64_t)x20 * x21)) + ((0x2 * ((uint64_t)x22 * x22)) + (0x2 * ((uint64_t)x21 * x20))))));
+ uint64_t x27 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x2fd * (((uint64_t)x18 * x21) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((uint64_t)x21 * x18))))));
+ uint64_t x28 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x2fd * (((uint64_t)x16 * x21) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((uint64_t)x21 * x16)))))));
+ uint64_t x29 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x2fd * (((uint64_t)x14 * x21) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((uint64_t)x21 * x14))))))));
+ uint64_t x30 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x2fd * ((0x2 * ((uint64_t)x12 * x21)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + (0x2 * ((uint64_t)x21 * x12))))))))));
+ uint64_t x31 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x2fd * (((uint64_t)x10 * x21) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((uint64_t)x21 * x10))))))))));
+ uint64_t x32 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x2fd * (((uint64_t)x8 * x21) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((uint64_t)x21 * x8)))))))))));
+ uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x2fd * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))));
+ uint64_t x34 = (((uint64_t)x2 * x2) + (0x2fd * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
+ uint64_t x35 = (x34 >> 0x16);
+ uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
+ uint64_t x37 = (x35 + x33);
+ uint64_t x38 = (x37 >> 0x15);
+ uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
+ uint64_t x40 = (x38 + x32);
+ uint64_t x41 = (x40 >> 0x15);
+ uint32_t x42 = ((uint32_t)x40 & 0x1fffff);
+ uint64_t x43 = (x41 + x31);
+ uint64_t x44 = (x43 >> 0x15);
+ uint32_t x45 = ((uint32_t)x43 & 0x1fffff);
+ uint64_t x46 = (x44 + x30);
+ uint64_t x47 = (x46 >> 0x16);
+ uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
+ uint64_t x49 = (x47 + x29);
+ uint64_t x50 = (x49 >> 0x15);
+ uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
+ uint64_t x52 = (x50 + x28);
+ uint64_t x53 = (x52 >> 0x15);
+ uint32_t x54 = ((uint32_t)x52 & 0x1fffff);
+ uint64_t x55 = (x53 + x27);
+ uint64_t x56 = (x55 >> 0x15);
+ uint32_t x57 = ((uint32_t)x55 & 0x1fffff);
+ uint64_t x58 = (x56 + x26);
+ uint64_t x59 = (x58 >> 0x16);
+ uint32_t x60 = ((uint32_t)x58 & 0x3fffff);
+ uint64_t x61 = (x59 + x25);
+ uint64_t x62 = (x61 >> 0x15);
+ uint32_t x63 = ((uint32_t)x61 & 0x1fffff);
+ uint64_t x64 = (x62 + x24);
+ uint64_t x65 = (x64 >> 0x15);
+ uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
+ uint64_t x67 = (x65 + x23);
+ uint32_t x68 = (uint32_t) (x67 >> 0x15);
+ uint32_t x69 = ((uint32_t)x67 & 0x1fffff);
+ uint64_t x70 = (x36 + ((uint64_t)0x2fd * x68));
+ uint32_t x71 = (uint32_t) (x70 >> 0x16);
+ uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
+ uint32_t x73 = (x71 + x39);
+ uint32_t x74 = (x73 >> 0x15);
+ uint32_t x75 = (x73 & 0x1fffff);
+ return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, (x74 + x42), Return x75, Return x72))
x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e255m765/freezeDisplay.log b/src/Specific/solinas32_2e255m765/freezeDisplay.log
index f3f98b52c..758c0e859 100644
--- a/src/Specific/solinas32_2e255m765/freezeDisplay.log
+++ b/src/Specific/solinas32_2e255m765/freezeDisplay.log
@@ -1,53 +1,44 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
Interp-η
(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fd03);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x4, 0x1ffff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x6, 0x1ffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x8, 0x1ffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x10, 0x1ffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x12, 0x1ffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x14, 0x1ffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x16, 0x1ffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x18, 0x1ffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x20, 0x1ffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x22, 0x1ffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x24, 0x1ffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x26, 0x1ffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x28, 0x1ffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x27, 0x1ffff);
- uint32_t x74 = (uint32_t)cmovznz(x73, 0x0, 0xffffffff);
- uint32_t x75 = x74 & 0x1fd03;
- uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x30, Return x75);
- uint32_t x79 = x74 & 0x1ffff;
- uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x33, Return x79);
- uint32_t x83 = x74 & 0x1ffff;
- uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x36, Return x83);
- uint32_t x87 = x74 & 0x1ffff;
- uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x39, Return x87);
- uint32_t x91 = x74 & 0x1ffff;
- uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x42, Return x91);
- uint32_t x95 = x74 & 0x1ffff;
- uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x45, Return x95);
- uint32_t x99 = x74 & 0x1ffff;
- uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x48, Return x99);
- uint32_t x103 = x74 & 0x1ffff;
- uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x51, Return x103);
- uint32_t x107 = x74 & 0x1ffff;
- uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x54, Return x107);
- uint32_t x111 = x74 & 0x1ffff;
- uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x57, Return x111);
- uint32_t x115 = x74 & 0x1ffff;
- uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x60, Return x115);
- uint32_t x119 = x74 & 0x1ffff;
- uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x63, Return x119);
- uint32_t x123 = x74 & 0x1ffff;
- uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x66, Return x123);
- uint32_t x127 = x74 & 0x1ffff;
- uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x69, Return x127);
- uint32_t x131 = x74 & 0x1ffff;
- uint32_t x133, uint8_t _ = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x72, Return x131);
- (Return x133, Return x129, Return x125, Return x121, Return x117, Return x113, Return x109, Return x105, Return x101, Return x97, Return x93, Return x89, Return x85, Return x81, Return x77))
+ λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
+ uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, Const 4193539);
+ uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0x1fffff);
+ uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x1fffff);
+ uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x1fffff);
+ uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x3fffff);
+ uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0x1fffff);
+ uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0x1fffff);
+ uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x1fffff);
+ uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x3fffff);
+ uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0x1fffff);
+ uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x1fffff);
+ uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x1fffff);
+ uint32_t x59 = (uint32_t)cmovznz(x58, 0x0, 0xffffffff);
+ uint32_t x60 = (x59 & Const 4193539);
+ uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
+ uint32_t x64 = (x59 & 0x1fffff);
+ uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
+ uint32_t x68 = (x59 & 0x1fffff);
+ uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
+ uint32_t x72 = (x59 & 0x1fffff);
+ uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
+ uint32_t x76 = (x59 & 0x3fffff);
+ uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
+ uint32_t x80 = (x59 & 0x1fffff);
+ uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
+ uint32_t x84 = (x59 & 0x1fffff);
+ uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
+ uint32_t x88 = (x59 & 0x1fffff);
+ uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
+ uint32_t x92 = (x59 & 0x3fffff);
+ uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
+ uint32_t x96 = (x59 & 0x1fffff);
+ uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
+ uint32_t x100 = (x59 & 0x1fffff);
+ uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
+ uint32_t x104 = (x59 & 0x1fffff);
+ uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
+ (Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e256m189/femulDisplay.log b/src/Specific/solinas32_2e256m189/femulDisplay.log
index 5af81cff1..089b4132b 100644
--- a/src/Specific/solinas32_2e256m189/femulDisplay.log
+++ b/src/Specific/solinas32_2e256m189/femulDisplay.log
@@ -2,59 +2,59 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint64_t x48 = (uint64_t) x5 * x46 + (0x2 * ((uint64_t) x7 * x47) + ((uint64_t) x9 * x45 + ((uint64_t) x11 * x43 + (0x2 * ((uint64_t) x13 * x41) + ((uint64_t) x15 * x39 + ((uint64_t) x17 * x37 + (0x2 * ((uint64_t) x19 * x35) + ((uint64_t) x21 * x33 + ((uint64_t) x23 * x31 + (0x2 * ((uint64_t) x25 * x29) + (uint64_t) x24 * x27))))))))));
- uint64_t x49 = (uint64_t) x5 * x47 + ((uint64_t) x7 * x45 + ((uint64_t) x9 * x43 + ((uint64_t) x11 * x41 + ((uint64_t) x13 * x39 + ((uint64_t) x15 * x37 + ((uint64_t) x17 * x35 + ((uint64_t) x19 * x33 + ((uint64_t) x21 * x31 + ((uint64_t) x23 * x29 + (uint64_t) x25 * x27))))))))) + 0xbd * ((uint64_t) x24 * x46);
- uint64_t x50 = (uint64_t) x5 * x45 + (0x2 * ((uint64_t) x7 * x43) + (0x2 * ((uint64_t) x9 * x41) + ((uint64_t) x11 * x39 + (0x2 * ((uint64_t) x13 * x37) + (0x2 * ((uint64_t) x15 * x35) + ((uint64_t) x17 * x33 + (0x2 * ((uint64_t) x19 * x31) + (0x2 * ((uint64_t) x21 * x29) + (uint64_t) x23 * x27)))))))) + 0xbd * (0x2 * ((uint64_t) x25 * x46) + 0x2 * ((uint64_t) x24 * x47));
- uint64_t x51 = (uint64_t) x5 * x43 + (0x2 * ((uint64_t) x7 * x41) + ((uint64_t) x9 * x39 + ((uint64_t) x11 * x37 + (0x2 * ((uint64_t) x13 * x35) + ((uint64_t) x15 * x33 + ((uint64_t) x17 * x31 + (0x2 * ((uint64_t) x19 * x29) + (uint64_t) x21 * x27))))))) + 0xbd * ((uint64_t) x23 * x46 + (0x2 * ((uint64_t) x25 * x47) + (uint64_t) x24 * x45));
- uint64_t x52 = (uint64_t) x5 * x41 + ((uint64_t) x7 * x39 + ((uint64_t) x9 * x37 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + ((uint64_t) x15 * x31 + ((uint64_t) x17 * x29 + (uint64_t) x19 * x27)))))) + 0xbd * ((uint64_t) x21 * x46 + ((uint64_t) x23 * x47 + ((uint64_t) x25 * x45 + (uint64_t) x24 * x43)));
- uint64_t x53 = (uint64_t) x5 * x39 + (0x2 * ((uint64_t) x7 * x37) + (0x2 * ((uint64_t) x9 * x35) + ((uint64_t) x11 * x33 + (0x2 * ((uint64_t) x13 * x31) + (0x2 * ((uint64_t) x15 * x29) + (uint64_t) x17 * x27))))) + 0xbd * (0x2 * ((uint64_t) x19 * x46) + (0x2 * ((uint64_t) x21 * x47) + ((uint64_t) x23 * x45 + (0x2 * ((uint64_t) x25 * x43) + 0x2 * ((uint64_t) x24 * x41)))));
- uint64_t x54 = (uint64_t) x5 * x37 + (0x2 * ((uint64_t) x7 * x35) + ((uint64_t) x9 * x33 + ((uint64_t) x11 * x31 + (0x2 * ((uint64_t) x13 * x29) + (uint64_t) x15 * x27)))) + 0xbd * ((uint64_t) x17 * x46 + (0x2 * ((uint64_t) x19 * x47) + ((uint64_t) x21 * x45 + ((uint64_t) x23 * x43 + (0x2 * ((uint64_t) x25 * x41) + (uint64_t) x24 * x39)))));
- uint64_t x55 = (uint64_t) x5 * x35 + ((uint64_t) x7 * x33 + ((uint64_t) x9 * x31 + ((uint64_t) x11 * x29 + (uint64_t) x13 * x27))) + 0xbd * ((uint64_t) x15 * x46 + ((uint64_t) x17 * x47 + ((uint64_t) x19 * x45 + ((uint64_t) x21 * x43 + ((uint64_t) x23 * x41 + ((uint64_t) x25 * x39 + (uint64_t) x24 * x37))))));
- uint64_t x56 = (uint64_t) x5 * x33 + (0x2 * ((uint64_t) x7 * x31) + (0x2 * ((uint64_t) x9 * x29) + (uint64_t) x11 * x27)) + 0xbd * (0x2 * ((uint64_t) x13 * x46) + (0x2 * ((uint64_t) x15 * x47) + ((uint64_t) x17 * x45 + (0x2 * ((uint64_t) x19 * x43) + (0x2 * ((uint64_t) x21 * x41) + ((uint64_t) x23 * x39 + (0x2 * ((uint64_t) x25 * x37) + 0x2 * ((uint64_t) x24 * x35))))))));
- uint64_t x57 = (uint64_t) x5 * x31 + (0x2 * ((uint64_t) x7 * x29) + (uint64_t) x9 * x27) + 0xbd * ((uint64_t) x11 * x46 + (0x2 * ((uint64_t) x13 * x47) + ((uint64_t) x15 * x45 + ((uint64_t) x17 * x43 + (0x2 * ((uint64_t) x19 * x41) + ((uint64_t) x21 * x39 + ((uint64_t) x23 * x37 + (0x2 * ((uint64_t) x25 * x35) + (uint64_t) x24 * x33))))))));
- uint64_t x58 = (uint64_t) x5 * x29 + (uint64_t) x7 * x27 + 0xbd * ((uint64_t) x9 * x46 + ((uint64_t) x11 * x47 + ((uint64_t) x13 * x45 + ((uint64_t) x15 * x43 + ((uint64_t) x17 * x41 + ((uint64_t) x19 * x39 + ((uint64_t) x21 * x37 + ((uint64_t) x23 * x35 + ((uint64_t) x25 * x33 + (uint64_t) x24 * x31)))))))));
- uint64_t x59 = (uint64_t) x5 * x27 + 0xbd * (0x2 * ((uint64_t) x7 * x46) + (0x2 * ((uint64_t) x9 * x47) + ((uint64_t) x11 * x45 + (0x2 * ((uint64_t) x13 * x43) + (0x2 * ((uint64_t) x15 * x41) + ((uint64_t) x17 * x39 + (0x2 * ((uint64_t) x19 * x37) + (0x2 * ((uint64_t) x21 * x35) + ((uint64_t) x23 * x33 + (0x2 * ((uint64_t) x25 * x31) + 0x2 * ((uint64_t) x24 * x29)))))))))));
- uint64_t x60 = x59 >> 0x16;
- uint32_t x61 = (uint32_t) x59 & 0x3fffff;
- uint64_t x62 = x60 + x58;
- uint64_t x63 = x62 >> 0x15;
- uint32_t x64 = (uint32_t) x62 & 0x1fffff;
- uint64_t x65 = x63 + x57;
- uint64_t x66 = x65 >> 0x15;
- uint32_t x67 = (uint32_t) x65 & 0x1fffff;
- uint64_t x68 = x66 + x56;
- uint64_t x69 = x68 >> 0x16;
- uint32_t x70 = (uint32_t) x68 & 0x3fffff;
- uint64_t x71 = x69 + x55;
- uint64_t x72 = x71 >> 0x15;
- uint32_t x73 = (uint32_t) x71 & 0x1fffff;
- uint64_t x74 = x72 + x54;
- uint64_t x75 = x74 >> 0x15;
- uint32_t x76 = (uint32_t) x74 & 0x1fffff;
- uint64_t x77 = x75 + x53;
- uint32_t x78 = (uint32_t) (x77 >> 0x16);
- uint32_t x79 = (uint32_t) x77 & 0x3fffff;
- uint64_t x80 = x78 + x52;
- uint32_t x81 = (uint32_t) (x80 >> 0x15);
- uint32_t x82 = (uint32_t) x80 & 0x1fffff;
- uint64_t x83 = x81 + x51;
- uint32_t x84 = (uint32_t) (x83 >> 0x15);
- uint32_t x85 = (uint32_t) x83 & 0x1fffff;
- uint64_t x86 = x84 + x50;
- uint32_t x87 = (uint32_t) (x86 >> 0x16);
- uint32_t x88 = (uint32_t) x86 & 0x3fffff;
- uint64_t x89 = x87 + x49;
- uint32_t x90 = (uint32_t) (x89 >> 0x15);
- uint32_t x91 = (uint32_t) x89 & 0x1fffff;
- uint64_t x92 = x90 + x48;
+ uint64_t x48 = (((uint64_t)x5 * x46) + ((0x2 * ((uint64_t)x7 * x47)) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((0x2 * ((uint64_t)x25 * x29)) + ((uint64_t)x24 * x27))))))))))));
+ uint64_t x49 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + (((uint64_t)x23 * x29) + ((uint64_t)x25 * x27))))))))))) + (0xbd * ((uint64_t)x24 * x46)));
+ uint64_t x50 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + ((0x2 * ((uint64_t)x21 * x29)) + ((uint64_t)x23 * x27)))))))))) + (0xbd * ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47)))));
+ uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0xbd * (((uint64_t)x23 * x46) + ((0x2 * ((uint64_t)x25 * x47)) + ((uint64_t)x24 * x45)))));
+ uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + (0xbd * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))));
+ uint64_t x53 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((uint64_t)x17 * x27))))))) + (0xbd * ((0x2 * ((uint64_t)x19 * x46)) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + (0x2 * ((uint64_t)x24 * x41))))))));
+ uint64_t x54 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((uint64_t)x15 * x27)))))) + (0xbd * (((uint64_t)x17 * x46) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x24 * x39))))))));
+ uint64_t x55 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((uint64_t)x13 * x27))))) + (0xbd * (((uint64_t)x15 * x46) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x24 * x37)))))))));
+ uint64_t x56 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((uint64_t)x11 * x27)))) + (0xbd * ((0x2 * ((uint64_t)x13 * x46)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((0x2 * ((uint64_t)x25 * x37)) + (0x2 * ((uint64_t)x24 * x35)))))))))));
+ uint64_t x57 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((uint64_t)x9 * x27))) + (0xbd * (((uint64_t)x11 * x46) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((0x2 * ((uint64_t)x25 * x35)) + ((uint64_t)x24 * x33)))))))))));
+ uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (0xbd * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))));
+ uint64_t x59 = (((uint64_t)x5 * x27) + (0xbd * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + (((uint64_t)x23 * x33) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
+ uint64_t x60 = (x59 >> 0x16);
+ uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
+ uint64_t x62 = (x60 + x58);
+ uint64_t x63 = (x62 >> 0x15);
+ uint32_t x64 = ((uint32_t)x62 & 0x1fffff);
+ uint64_t x65 = (x63 + x57);
+ uint64_t x66 = (x65 >> 0x15);
+ uint32_t x67 = ((uint32_t)x65 & 0x1fffff);
+ uint64_t x68 = (x66 + x56);
+ uint64_t x69 = (x68 >> 0x16);
+ uint32_t x70 = ((uint32_t)x68 & 0x3fffff);
+ uint64_t x71 = (x69 + x55);
+ uint64_t x72 = (x71 >> 0x15);
+ uint32_t x73 = ((uint32_t)x71 & 0x1fffff);
+ uint64_t x74 = (x72 + x54);
+ uint64_t x75 = (x74 >> 0x15);
+ uint32_t x76 = ((uint32_t)x74 & 0x1fffff);
+ uint64_t x77 = (x75 + x53);
+ uint64_t x78 = (x77 >> 0x16);
+ uint32_t x79 = ((uint32_t)x77 & 0x3fffff);
+ uint64_t x80 = (x78 + x52);
+ uint64_t x81 = (x80 >> 0x15);
+ uint32_t x82 = ((uint32_t)x80 & 0x1fffff);
+ uint64_t x83 = (x81 + x51);
+ uint64_t x84 = (x83 >> 0x15);
+ uint32_t x85 = ((uint32_t)x83 & 0x1fffff);
+ uint64_t x86 = (x84 + x50);
+ uint64_t x87 = (x86 >> 0x16);
+ uint32_t x88 = ((uint32_t)x86 & 0x3fffff);
+ uint64_t x89 = (x87 + x49);
+ uint64_t x90 = (x89 >> 0x15);
+ uint32_t x91 = ((uint32_t)x89 & 0x1fffff);
+ uint64_t x92 = (x90 + x48);
uint32_t x93 = (uint32_t) (x92 >> 0x15);
- uint32_t x94 = (uint32_t) x92 & 0x1fffff;
- uint64_t x95 = x61 + (uint64_t) 0xbd * x93;
+ uint32_t x94 = ((uint32_t)x92 & 0x1fffff);
+ uint64_t x95 = (x61 + ((uint64_t)0xbd * x93));
uint32_t x96 = (uint32_t) (x95 >> 0x16);
- uint32_t x97 = (uint32_t) x95 & 0x3fffff;
- uint32_t x98 = x96 + x64;
- uint32_t x99 = x98 >> 0x15;
- uint32_t x100 = x98 & 0x1fffff;
- return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, x99 + x67, Return x100, Return x97))
+ uint32_t x97 = ((uint32_t)x95 & 0x3fffff);
+ uint32_t x98 = (x96 + x64);
+ uint32_t x99 = (x98 >> 0x15);
+ uint32_t x100 = (x98 & 0x1fffff);
+ return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, (x99 + x67), Return x100, Return x97))
(x, x0)%core
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e256m189/fesquareDisplay.log b/src/Specific/solinas32_2e256m189/fesquareDisplay.log
index c9b917797..4cb534fff 100644
--- a/src/Specific/solinas32_2e256m189/fesquareDisplay.log
+++ b/src/Specific/solinas32_2e256m189/fesquareDisplay.log
@@ -2,59 +2,59 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x23 = (uint64_t) x2 * x21 + (0x2 * ((uint64_t) x4 * x22) + ((uint64_t) x6 * x20 + ((uint64_t) x8 * x18 + (0x2 * ((uint64_t) x10 * x16) + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + (0x2 * ((uint64_t) x16 * x10) + ((uint64_t) x18 * x8 + ((uint64_t) x20 * x6 + (0x2 * ((uint64_t) x22 * x4) + (uint64_t) x21 * x2))))))))));
- uint64_t x24 = (uint64_t) x2 * x22 + ((uint64_t) x4 * x20 + ((uint64_t) x6 * x18 + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + ((uint64_t) x18 * x6 + ((uint64_t) x20 * x4 + (uint64_t) x22 * x2))))))))) + 0xbd * ((uint64_t) x21 * x21);
- uint64_t x25 = (uint64_t) x2 * x20 + (0x2 * ((uint64_t) x4 * x18) + (0x2 * ((uint64_t) x6 * x16) + ((uint64_t) x8 * x14 + (0x2 * ((uint64_t) x10 * x12) + (0x2 * ((uint64_t) x12 * x10) + ((uint64_t) x14 * x8 + (0x2 * ((uint64_t) x16 * x6) + (0x2 * ((uint64_t) x18 * x4) + (uint64_t) x20 * x2)))))))) + 0xbd * (0x2 * ((uint64_t) x22 * x21) + 0x2 * ((uint64_t) x21 * x22));
- uint64_t x26 = (uint64_t) x2 * x18 + (0x2 * ((uint64_t) x4 * x16) + ((uint64_t) x6 * x14 + ((uint64_t) x8 * x12 + (0x2 * ((uint64_t) x10 * x10) + ((uint64_t) x12 * x8 + ((uint64_t) x14 * x6 + (0x2 * ((uint64_t) x16 * x4) + (uint64_t) x18 * x2))))))) + 0xbd * ((uint64_t) x20 * x21 + (0x2 * ((uint64_t) x22 * x22) + (uint64_t) x21 * x20));
- uint64_t x27 = (uint64_t) x2 * x16 + ((uint64_t) x4 * x14 + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + ((uint64_t) x14 * x4 + (uint64_t) x16 * x2)))))) + 0xbd * ((uint64_t) x18 * x21 + ((uint64_t) x20 * x22 + ((uint64_t) x22 * x20 + (uint64_t) x21 * x18)));
- uint64_t x28 = (uint64_t) x2 * x14 + (0x2 * ((uint64_t) x4 * x12) + (0x2 * ((uint64_t) x6 * x10) + ((uint64_t) x8 * x8 + (0x2 * ((uint64_t) x10 * x6) + (0x2 * ((uint64_t) x12 * x4) + (uint64_t) x14 * x2))))) + 0xbd * (0x2 * ((uint64_t) x16 * x21) + (0x2 * ((uint64_t) x18 * x22) + ((uint64_t) x20 * x20 + (0x2 * ((uint64_t) x22 * x18) + 0x2 * ((uint64_t) x21 * x16)))));
- uint64_t x29 = (uint64_t) x2 * x12 + (0x2 * ((uint64_t) x4 * x10) + ((uint64_t) x6 * x8 + ((uint64_t) x8 * x6 + (0x2 * ((uint64_t) x10 * x4) + (uint64_t) x12 * x2)))) + 0xbd * ((uint64_t) x14 * x21 + (0x2 * ((uint64_t) x16 * x22) + ((uint64_t) x18 * x20 + ((uint64_t) x20 * x18 + (0x2 * ((uint64_t) x22 * x16) + (uint64_t) x21 * x14)))));
- uint64_t x30 = (uint64_t) x2 * x10 + ((uint64_t) x4 * x8 + ((uint64_t) x6 * x6 + ((uint64_t) x8 * x4 + (uint64_t) x10 * x2))) + 0xbd * ((uint64_t) x12 * x21 + ((uint64_t) x14 * x22 + ((uint64_t) x16 * x20 + ((uint64_t) x18 * x18 + ((uint64_t) x20 * x16 + ((uint64_t) x22 * x14 + (uint64_t) x21 * x12))))));
- uint64_t x31 = (uint64_t) x2 * x8 + (0x2 * ((uint64_t) x4 * x6) + (0x2 * ((uint64_t) x6 * x4) + (uint64_t) x8 * x2)) + 0xbd * (0x2 * ((uint64_t) x10 * x21) + (0x2 * ((uint64_t) x12 * x22) + ((uint64_t) x14 * x20 + (0x2 * ((uint64_t) x16 * x18) + (0x2 * ((uint64_t) x18 * x16) + ((uint64_t) x20 * x14 + (0x2 * ((uint64_t) x22 * x12) + 0x2 * ((uint64_t) x21 * x10))))))));
- uint64_t x32 = (uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2) + 0xbd * ((uint64_t) x8 * x21 + (0x2 * ((uint64_t) x10 * x22) + ((uint64_t) x12 * x20 + ((uint64_t) x14 * x18 + (0x2 * ((uint64_t) x16 * x16) + ((uint64_t) x18 * x14 + ((uint64_t) x20 * x12 + (0x2 * ((uint64_t) x22 * x10) + (uint64_t) x21 * x8))))))));
- uint64_t x33 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0xbd * ((uint64_t) x6 * x21 + ((uint64_t) x8 * x22 + ((uint64_t) x10 * x20 + ((uint64_t) x12 * x18 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + ((uint64_t) x18 * x12 + ((uint64_t) x20 * x10 + ((uint64_t) x22 * x8 + (uint64_t) x21 * x6)))))))));
- uint64_t x34 = (uint64_t) x2 * x2 + 0xbd * (0x2 * ((uint64_t) x4 * x21) + (0x2 * ((uint64_t) x6 * x22) + ((uint64_t) x8 * x20 + (0x2 * ((uint64_t) x10 * x18) + (0x2 * ((uint64_t) x12 * x16) + ((uint64_t) x14 * x14 + (0x2 * ((uint64_t) x16 * x12) + (0x2 * ((uint64_t) x18 * x10) + ((uint64_t) x20 * x8 + (0x2 * ((uint64_t) x22 * x6) + 0x2 * ((uint64_t) x21 * x4)))))))))));
- uint64_t x35 = x34 >> 0x16;
- uint32_t x36 = (uint32_t) x34 & 0x3fffff;
- uint64_t x37 = x35 + x33;
- uint64_t x38 = x37 >> 0x15;
- uint32_t x39 = (uint32_t) x37 & 0x1fffff;
- uint64_t x40 = x38 + x32;
- uint64_t x41 = x40 >> 0x15;
- uint32_t x42 = (uint32_t) x40 & 0x1fffff;
- uint64_t x43 = x41 + x31;
- uint64_t x44 = x43 >> 0x16;
- uint32_t x45 = (uint32_t) x43 & 0x3fffff;
- uint64_t x46 = x44 + x30;
- uint64_t x47 = x46 >> 0x15;
- uint32_t x48 = (uint32_t) x46 & 0x1fffff;
- uint64_t x49 = x47 + x29;
- uint64_t x50 = x49 >> 0x15;
- uint32_t x51 = (uint32_t) x49 & 0x1fffff;
- uint64_t x52 = x50 + x28;
- uint32_t x53 = (uint32_t) (x52 >> 0x16);
- uint32_t x54 = (uint32_t) x52 & 0x3fffff;
- uint64_t x55 = x53 + x27;
- uint32_t x56 = (uint32_t) (x55 >> 0x15);
- uint32_t x57 = (uint32_t) x55 & 0x1fffff;
- uint64_t x58 = x56 + x26;
- uint32_t x59 = (uint32_t) (x58 >> 0x15);
- uint32_t x60 = (uint32_t) x58 & 0x1fffff;
- uint64_t x61 = x59 + x25;
- uint32_t x62 = (uint32_t) (x61 >> 0x16);
- uint32_t x63 = (uint32_t) x61 & 0x3fffff;
- uint64_t x64 = x62 + x24;
- uint32_t x65 = (uint32_t) (x64 >> 0x15);
- uint32_t x66 = (uint32_t) x64 & 0x1fffff;
- uint64_t x67 = x65 + x23;
+ uint64_t x23 = (((uint64_t)x2 * x21) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x21 * x2))))))))))));
+ uint64_t x24 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0xbd * ((uint64_t)x21 * x21)));
+ uint64_t x25 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0xbd * ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22)))));
+ uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0xbd * (((uint64_t)x20 * x21) + ((0x2 * ((uint64_t)x22 * x22)) + ((uint64_t)x21 * x20)))));
+ uint64_t x27 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0xbd * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))));
+ uint64_t x28 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0xbd * ((0x2 * ((uint64_t)x16 * x21)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (0x2 * ((uint64_t)x21 * x16))))))));
+ uint64_t x29 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0xbd * (((uint64_t)x14 * x21) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((uint64_t)x21 * x14))))))));
+ uint64_t x30 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xbd * (((uint64_t)x12 * x21) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((uint64_t)x21 * x12)))))))));
+ uint64_t x31 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0xbd * ((0x2 * ((uint64_t)x10 * x21)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (0x2 * ((uint64_t)x21 * x10)))))))))));
+ uint64_t x32 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0xbd * (((uint64_t)x8 * x21) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + ((uint64_t)x21 * x8)))))))))));
+ uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xbd * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))));
+ uint64_t x34 = (((uint64_t)x2 * x2) + (0xbd * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
+ uint64_t x35 = (x34 >> 0x16);
+ uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
+ uint64_t x37 = (x35 + x33);
+ uint64_t x38 = (x37 >> 0x15);
+ uint32_t x39 = ((uint32_t)x37 & 0x1fffff);
+ uint64_t x40 = (x38 + x32);
+ uint64_t x41 = (x40 >> 0x15);
+ uint32_t x42 = ((uint32_t)x40 & 0x1fffff);
+ uint64_t x43 = (x41 + x31);
+ uint64_t x44 = (x43 >> 0x16);
+ uint32_t x45 = ((uint32_t)x43 & 0x3fffff);
+ uint64_t x46 = (x44 + x30);
+ uint64_t x47 = (x46 >> 0x15);
+ uint32_t x48 = ((uint32_t)x46 & 0x1fffff);
+ uint64_t x49 = (x47 + x29);
+ uint64_t x50 = (x49 >> 0x15);
+ uint32_t x51 = ((uint32_t)x49 & 0x1fffff);
+ uint64_t x52 = (x50 + x28);
+ uint64_t x53 = (x52 >> 0x16);
+ uint32_t x54 = ((uint32_t)x52 & 0x3fffff);
+ uint64_t x55 = (x53 + x27);
+ uint64_t x56 = (x55 >> 0x15);
+ uint32_t x57 = ((uint32_t)x55 & 0x1fffff);
+ uint64_t x58 = (x56 + x26);
+ uint64_t x59 = (x58 >> 0x15);
+ uint32_t x60 = ((uint32_t)x58 & 0x1fffff);
+ uint64_t x61 = (x59 + x25);
+ uint64_t x62 = (x61 >> 0x16);
+ uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
+ uint64_t x64 = (x62 + x24);
+ uint64_t x65 = (x64 >> 0x15);
+ uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
+ uint64_t x67 = (x65 + x23);
uint32_t x68 = (uint32_t) (x67 >> 0x15);
- uint32_t x69 = (uint32_t) x67 & 0x1fffff;
- uint64_t x70 = x36 + (uint64_t) 0xbd * x68;
+ uint32_t x69 = ((uint32_t)x67 & 0x1fffff);
+ uint64_t x70 = (x36 + ((uint64_t)0xbd * x68));
uint32_t x71 = (uint32_t) (x70 >> 0x16);
- uint32_t x72 = (uint32_t) x70 & 0x3fffff;
- uint32_t x73 = x71 + x39;
- uint32_t x74 = x73 >> 0x15;
- uint32_t x75 = x73 & 0x1fffff;
- return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, x74 + x42, Return x75, Return x72))
+ uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
+ uint32_t x73 = (x71 + x39);
+ uint32_t x74 = (x73 >> 0x15);
+ uint32_t x75 = (x73 & 0x1fffff);
+ return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, (x74 + x42), Return x75, Return x72))
x
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e256m189/freezeDisplay.log b/src/Specific/solinas32_2e256m189/freezeDisplay.log
index 9a2478ece..fbba80b33 100644
--- a/src/Specific/solinas32_2e256m189/freezeDisplay.log
+++ b/src/Specific/solinas32_2e256m189/freezeDisplay.log
@@ -15,29 +15,29 @@ Interp-η
uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x1fffff);
uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x1fffff);
uint32_t x59 = (uint32_t)cmovznz(x58, 0x0, 0xffffffff);
- uint32_t x60 = x59 & 0x3fff43;
+ uint32_t x60 = (x59 & 0x3fff43);
uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- uint32_t x64 = x59 & 0x1fffff;
+ uint32_t x64 = (x59 & 0x1fffff);
uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- uint32_t x68 = x59 & 0x1fffff;
+ uint32_t x68 = (x59 & 0x1fffff);
uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- uint32_t x72 = x59 & 0x3fffff;
+ uint32_t x72 = (x59 & 0x3fffff);
uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- uint32_t x76 = x59 & 0x1fffff;
+ uint32_t x76 = (x59 & 0x1fffff);
uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- uint32_t x80 = x59 & 0x1fffff;
+ uint32_t x80 = (x59 & 0x1fffff);
uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- uint32_t x84 = x59 & 0x3fffff;
+ uint32_t x84 = (x59 & 0x3fffff);
uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- uint32_t x88 = x59 & 0x1fffff;
+ uint32_t x88 = (x59 & 0x1fffff);
uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- uint32_t x92 = x59 & 0x1fffff;
+ uint32_t x92 = (x59 & 0x1fffff);
uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- uint32_t x96 = x59 & 0x3fffff;
+ uint32_t x96 = (x59 & 0x3fffff);
uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- uint32_t x100 = x59 & 0x1fffff;
+ uint32_t x100 = (x59 & 0x1fffff);
uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- uint32_t x104 = x59 & 0x1fffff;
+ uint32_t x104 = (x59 & 0x1fffff);
uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
(Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
x
diff --git a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1/freezeDisplay.log b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1/freezeDisplay.log
index 848365d53..6d96bc55a 100644
--- a/src/Specific/solinas32_2e256m2e224p2e192p2e96m1/freezeDisplay.log
+++ b/src/Specific/solinas32_2e256m2e224p2e192p2e96m1/freezeDisplay.log
@@ -15,25 +15,25 @@ Interp-η
uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 Syntax.TZ (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x1ffc00);
uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x1fffff);
uint32_t x59 = (uint32_t)cmovznz(x58, 0x0, 0xffffffff);
- uint32_t x60 = x59 & 0x3fffff;
+ uint32_t x60 = (x59 & 0x3fffff);
uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- uint32_t x64 = x59 & 0x1fffff;
+ uint32_t x64 = (x59 & 0x1fffff);
uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- uint32_t x68 = x59 & 0x1fffff;
+ uint32_t x68 = (x59 & 0x1fffff);
uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- uint32_t x72 = x59 & 0x3fffff;
+ uint32_t x72 = (x59 & 0x3fffff);
uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- uint32_t x76 = x59 & 0x3ff;
+ uint32_t x76 = (x59 & 0x3ff);
uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, 0x0);
uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x42, 0x0);
uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x45, 0x0);
uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x48, 0x0);
- uint8_t x92 = (uint8_t) x59 & 0x1;
+ uint8_t x92 = ((uint8_t)x59 & 0x1);
uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x51, Return x92);
- uint32_t x96 = x59 & 0x1ffc00;
+ uint32_t x96 = (x59 & 0x1ffc00);
uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x54, Return x96);
- uint32_t x100 = x59 & 0x1fffff;
+ uint32_t x100 = (x59 & 0x1fffff);
uint32_t x102, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x57, Return x100);
(Return x102, Return x98, Return x94, Return x90, Return x87, Return x84, Return x81, Return x78, Return x74, Return x70, Return x66, Return x62))
x
diff --git a/src/Specific/solinas32_2e256m2e32m977/femulDisplay.log b/src/Specific/solinas32_2e256m2e32m977/femulDisplay.log
new file mode 100644
index 000000000..238bb7bf6
--- /dev/null
+++ b/src/Specific/solinas32_2e256m2e32m977/femulDisplay.log
@@ -0,0 +1,71 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
+ uint64_t x48 = ((((uint64_t)x5 * x46) + ((0x2 * ((uint64_t)x7 * x47)) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + ((0x2 * ((uint64_t)x19 * x35)) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((0x2 * ((uint64_t)x25 * x29)) + ((uint64_t)x24 * x27)))))))))))) + (0x800 * ((uint64_t)x24 * x46)));
+ uint64_t x49 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + (((uint64_t)x23 * x29) + ((uint64_t)x25 * x27))))))))))) + ((0x3d1 * ((uint64_t)x24 * x46)) + (0x400 * ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47))))));
+ uint64_t x50 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + ((0x2 * ((uint64_t)x13 * x37)) + ((0x2 * ((uint64_t)x15 * x35)) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + ((0x2 * ((uint64_t)x21 * x29)) + ((uint64_t)x23 * x27)))))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x25 * x46)) + (0x2 * ((uint64_t)x24 * x47)))) + (0x800 * (((uint64_t)x23 * x46) + ((0x2 * ((uint64_t)x25 * x47)) + ((uint64_t)x24 * x45))))));
+ uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + ((0x2 * ((uint64_t)x13 * x35)) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + ((0x3d1 * (((uint64_t)x23 * x46) + ((0x2 * ((uint64_t)x25 * x47)) + ((uint64_t)x24 * x45)))) + (0x800 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43)))))));
+ uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + ((0x3d1 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))) + (0x400 * ((0x2 * ((uint64_t)x19 * x46)) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + (0x2 * ((uint64_t)x24 * x41)))))))));
+ uint64_t x53 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + (((uint64_t)x11 * x33) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((uint64_t)x17 * x27))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x19 * x46)) + ((0x2 * ((uint64_t)x21 * x47)) + (((uint64_t)x23 * x45) + ((0x2 * ((uint64_t)x25 * x43)) + (0x2 * ((uint64_t)x24 * x41))))))) + (0x800 * (((uint64_t)x17 * x46) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x24 * x39)))))))));
+ uint64_t x54 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((0x2 * ((uint64_t)x13 * x29)) + ((uint64_t)x15 * x27)))))) + ((0x3d1 * (((uint64_t)x17 * x46) + ((0x2 * ((uint64_t)x19 * x47)) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x24 * x39))))))) + (0x800 * (((uint64_t)x15 * x46) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x24 * x37))))))))));
+ uint64_t x55 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((uint64_t)x13 * x27))))) + ((0x3d1 * (((uint64_t)x15 * x46) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x24 * x37)))))))) + (0x400 * ((0x2 * ((uint64_t)x13 * x46)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((0x2 * ((uint64_t)x25 * x37)) + (0x2 * ((uint64_t)x24 * x35))))))))))));
+ uint64_t x56 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((uint64_t)x11 * x27)))) + ((0x3d1 * ((0x2 * ((uint64_t)x13 * x46)) + ((0x2 * ((uint64_t)x15 * x47)) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + ((0x2 * ((uint64_t)x25 * x37)) + (0x2 * ((uint64_t)x24 * x35)))))))))) + (0x800 * (((uint64_t)x11 * x46) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((0x2 * ((uint64_t)x25 * x35)) + ((uint64_t)x24 * x33))))))))))));
+ uint64_t x57 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((uint64_t)x9 * x27))) + ((0x3d1 * (((uint64_t)x11 * x46) + ((0x2 * ((uint64_t)x13 * x47)) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + ((0x2 * ((uint64_t)x25 * x35)) + ((uint64_t)x24 * x33)))))))))) + (0x800 * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31)))))))))))));
+ uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + ((0x3d1 * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))) + (0x400 * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + (((uint64_t)x23 * x33) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29)))))))))))))));
+ uint64_t x59 = (((uint64_t)x5 * x27) + (0x3d1 * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + (((uint64_t)x11 * x45) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + (((uint64_t)x23 * x33) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
+ uint64_t x60 = (x59 >> 0x16);
+ uint32_t x61 = ((uint32_t)x59 & 0x3fffff);
+ uint64_t x62 = (x48 >> 0x15);
+ uint32_t x63 = ((uint32_t)x48 & 0x1fffff);
+ uint64_t x64 = ((0x200000 * x62) + x63);
+ uint64_t x65 = (x64 >> 0x15);
+ uint32_t x66 = ((uint32_t)x64 & 0x1fffff);
+ uint64_t x67 = ((x60 + x58) + (0x400 * x65));
+ uint64_t x68 = (x67 >> 0x15);
+ uint32_t x69 = ((uint32_t)x67 & 0x1fffff);
+ uint64_t x70 = (x61 + (0x3d1 * x65));
+ uint32_t x71 = (uint32_t) (x70 >> 0x16);
+ uint32_t x72 = ((uint32_t)x70 & 0x3fffff);
+ uint64_t x73 = (x68 + x57);
+ uint64_t x74 = (x73 >> 0x15);
+ uint32_t x75 = ((uint32_t)x73 & 0x1fffff);
+ uint64_t x76 = (x74 + x56);
+ uint64_t x77 = (x76 >> 0x16);
+ uint32_t x78 = ((uint32_t)x76 & 0x3fffff);
+ uint64_t x79 = (x77 + x55);
+ uint64_t x80 = (x79 >> 0x15);
+ uint32_t x81 = ((uint32_t)x79 & 0x1fffff);
+ uint64_t x82 = (x80 + x54);
+ uint64_t x83 = (x82 >> 0x15);
+ uint32_t x84 = ((uint32_t)x82 & 0x1fffff);
+ uint64_t x85 = (x83 + x53);
+ uint64_t x86 = (x85 >> 0x16);
+ uint32_t x87 = ((uint32_t)x85 & 0x3fffff);
+ uint64_t x88 = (x86 + x52);
+ uint64_t x89 = (x88 >> 0x15);
+ uint32_t x90 = ((uint32_t)x88 & 0x1fffff);
+ uint64_t x91 = (x89 + x51);
+ uint64_t x92 = (x91 >> 0x15);
+ uint32_t x93 = ((uint32_t)x91 & 0x1fffff);
+ uint64_t x94 = (x92 + x50);
+ uint64_t x95 = (x94 >> 0x16);
+ uint32_t x96 = ((uint32_t)x94 & 0x3fffff);
+ uint64_t x97 = (x95 + x49);
+ uint64_t x98 = (x97 >> 0x15);
+ uint32_t x99 = ((uint32_t)x97 & 0x1fffff);
+ uint64_t x100 = (x98 + x66);
+ uint32_t x101 = (uint32_t) (x100 >> 0x15);
+ uint32_t x102 = ((uint32_t)x100 & 0x1fffff);
+ uint64_t x103 = (((uint64_t)0x200000 * x101) + x102);
+ uint32_t x104 = (uint32_t) (x103 >> 0x15);
+ uint32_t x105 = ((uint32_t)x103 & 0x1fffff);
+ uint32_t x106 = ((x71 + x69) + (0x400 * x104));
+ uint32_t x107 = (x106 >> 0x15);
+ uint32_t x108 = (x106 & 0x1fffff);
+ uint32_t x109 = (x72 + (0x3d1 * x104));
+ uint32_t x110 = (x109 >> 0x16);
+ uint32_t x111 = (x109 & 0x3fffff);
+ return (Return x105, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, (x107 + x75), (x110 + x108), Return x111))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e256m2e32m977/fesquareDisplay.log b/src/Specific/solinas32_2e256m2e32m977/fesquareDisplay.log
new file mode 100644
index 000000000..2b6d59589
--- /dev/null
+++ b/src/Specific/solinas32_2e256m2e32m977/fesquareDisplay.log
@@ -0,0 +1,71 @@
+λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
+ uint64_t x23 = ((((uint64_t)x2 * x21) + ((0x2 * ((uint64_t)x4 * x22)) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x21 * x2)))))))))))) + (0x800 * ((uint64_t)x21 * x21)));
+ uint64_t x24 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + ((0x3d1 * ((uint64_t)x21 * x21)) + (0x400 * ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22))))));
+ uint64_t x25 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x22 * x21)) + (0x2 * ((uint64_t)x21 * x22)))) + (0x800 * (((uint64_t)x20 * x21) + ((0x2 * ((uint64_t)x22 * x22)) + ((uint64_t)x21 * x20))))));
+ uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + ((0x2 * ((uint64_t)x10 * x10)) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + ((0x3d1 * (((uint64_t)x20 * x21) + ((0x2 * ((uint64_t)x22 * x22)) + ((uint64_t)x21 * x20)))) + (0x800 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18)))))));
+ uint64_t x27 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + ((0x3d1 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))) + (0x400 * ((0x2 * ((uint64_t)x16 * x21)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (0x2 * ((uint64_t)x21 * x16)))))))));
+ uint64_t x28 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + (((uint64_t)x8 * x8) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + ((0x3d1 * ((0x2 * ((uint64_t)x16 * x21)) + ((0x2 * ((uint64_t)x18 * x22)) + (((uint64_t)x20 * x20) + ((0x2 * ((uint64_t)x22 * x18)) + (0x2 * ((uint64_t)x21 * x16))))))) + (0x800 * (((uint64_t)x14 * x21) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((uint64_t)x21 * x14)))))))));
+ uint64_t x29 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + ((0x3d1 * (((uint64_t)x14 * x21) + ((0x2 * ((uint64_t)x16 * x22)) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((0x2 * ((uint64_t)x22 * x16)) + ((uint64_t)x21 * x14))))))) + (0x800 * (((uint64_t)x12 * x21) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((uint64_t)x21 * x12))))))))));
+ uint64_t x30 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + ((0x3d1 * (((uint64_t)x12 * x21) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((uint64_t)x21 * x12)))))))) + (0x400 * ((0x2 * ((uint64_t)x10 * x21)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (0x2 * ((uint64_t)x21 * x10))))))))))));
+ uint64_t x31 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + ((0x3d1 * ((0x2 * ((uint64_t)x10 * x21)) + ((0x2 * ((uint64_t)x12 * x22)) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + ((0x2 * ((uint64_t)x22 * x12)) + (0x2 * ((uint64_t)x21 * x10)))))))))) + (0x800 * (((uint64_t)x8 * x21) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + ((uint64_t)x21 * x8))))))))))));
+ uint64_t x32 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + ((0x3d1 * (((uint64_t)x8 * x21) + ((0x2 * ((uint64_t)x10 * x22)) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + ((0x2 * ((uint64_t)x22 * x10)) + ((uint64_t)x21 * x8)))))))))) + (0x800 * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6)))))))))))));
+ uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + ((0x3d1 * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))) + (0x400 * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4)))))))))))))));
+ uint64_t x34 = (((uint64_t)x2 * x2) + (0x3d1 * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + (((uint64_t)x8 * x20) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + (((uint64_t)x20 * x8) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
+ uint64_t x35 = (x34 >> 0x16);
+ uint32_t x36 = ((uint32_t)x34 & 0x3fffff);
+ uint64_t x37 = (x23 >> 0x15);
+ uint32_t x38 = ((uint32_t)x23 & 0x1fffff);
+ uint64_t x39 = ((0x200000 * x37) + x38);
+ uint64_t x40 = (x39 >> 0x15);
+ uint32_t x41 = ((uint32_t)x39 & 0x1fffff);
+ uint64_t x42 = ((x35 + x33) + (0x400 * x40));
+ uint64_t x43 = (x42 >> 0x15);
+ uint32_t x44 = ((uint32_t)x42 & 0x1fffff);
+ uint64_t x45 = (x36 + (0x3d1 * x40));
+ uint32_t x46 = (uint32_t) (x45 >> 0x16);
+ uint32_t x47 = ((uint32_t)x45 & 0x3fffff);
+ uint64_t x48 = (x43 + x32);
+ uint64_t x49 = (x48 >> 0x15);
+ uint32_t x50 = ((uint32_t)x48 & 0x1fffff);
+ uint64_t x51 = (x49 + x31);
+ uint64_t x52 = (x51 >> 0x16);
+ uint32_t x53 = ((uint32_t)x51 & 0x3fffff);
+ uint64_t x54 = (x52 + x30);
+ uint64_t x55 = (x54 >> 0x15);
+ uint32_t x56 = ((uint32_t)x54 & 0x1fffff);
+ uint64_t x57 = (x55 + x29);
+ uint64_t x58 = (x57 >> 0x15);
+ uint32_t x59 = ((uint32_t)x57 & 0x1fffff);
+ uint64_t x60 = (x58 + x28);
+ uint64_t x61 = (x60 >> 0x16);
+ uint32_t x62 = ((uint32_t)x60 & 0x3fffff);
+ uint64_t x63 = (x61 + x27);
+ uint64_t x64 = (x63 >> 0x15);
+ uint32_t x65 = ((uint32_t)x63 & 0x1fffff);
+ uint64_t x66 = (x64 + x26);
+ uint64_t x67 = (x66 >> 0x15);
+ uint32_t x68 = ((uint32_t)x66 & 0x1fffff);
+ uint64_t x69 = (x67 + x25);
+ uint64_t x70 = (x69 >> 0x16);
+ uint32_t x71 = ((uint32_t)x69 & 0x3fffff);
+ uint64_t x72 = (x70 + x24);
+ uint64_t x73 = (x72 >> 0x15);
+ uint32_t x74 = ((uint32_t)x72 & 0x1fffff);
+ uint64_t x75 = (x73 + x41);
+ uint32_t x76 = (uint32_t) (x75 >> 0x15);
+ uint32_t x77 = ((uint32_t)x75 & 0x1fffff);
+ uint64_t x78 = (((uint64_t)0x200000 * x76) + x77);
+ uint32_t x79 = (uint32_t) (x78 >> 0x15);
+ uint32_t x80 = ((uint32_t)x78 & 0x1fffff);
+ uint32_t x81 = ((x46 + x44) + (0x400 * x79));
+ uint32_t x82 = (x81 >> 0x15);
+ uint32_t x83 = (x81 & 0x1fffff);
+ uint32_t x84 = (x47 + (0x3d1 * x79));
+ uint32_t x85 = (x84 >> 0x16);
+ uint32_t x86 = (x84 & 0x3fffff);
+ return (Return x80, Return x74, Return x71, Return x68, Return x65, Return x62, Return x59, Return x56, Return x53, (x82 + x50), (x85 + x83), Return x86))
+x
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e256m2e32m977/freezeDisplay.log b/src/Specific/solinas32_2e256m2e32m977/freezeDisplay.log
index a99ac8ece..907770fe2 100644
--- a/src/Specific/solinas32_2e256m2e32m977/freezeDisplay.log
+++ b/src/Specific/solinas32_2e256m2e32m977/freezeDisplay.log
@@ -1,53 +1,44 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
Interp-η
(λ var : Syntax.base_type → Type,
- λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 18 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fc2f);
- uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x4, 0x1bfff);
- uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x6, 0x1ffff);
- uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x8, 0x1ffff);
- uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x10, 0x1ffff);
- uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x12, 0x1ffff);
- uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x14, 0x1ffff);
- uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x16, 0x1ffff);
- uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x18, 0x1ffff);
- uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x20, 0x1ffff);
- uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x22, 0x1ffff);
- uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x24, 0x1ffff);
- uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x26, 0x1ffff);
- uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x28, 0x1ffff);
- uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x27, 0x1ffff);
- uint32_t x74 = (uint32_t)cmovznz(x73, 0x0, 0xffffffff);
- uint32_t x75 = x74 & 0x3fc2f;
- uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 18 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x30, Return x75);
- uint32_t x79 = x74 & 0x1bfff;
- uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x33, Return x79);
- uint32_t x83 = x74 & 0x1ffff;
- uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x36, Return x83);
- uint32_t x87 = x74 & 0x1ffff;
- uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x39, Return x87);
- uint32_t x91 = x74 & 0x1ffff;
- uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x42, Return x91);
- uint32_t x95 = x74 & 0x1ffff;
- uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x45, Return x95);
- uint32_t x99 = x74 & 0x1ffff;
- uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x48, Return x99);
- uint32_t x103 = x74 & 0x1ffff;
- uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x51, Return x103);
- uint32_t x107 = x74 & 0x1ffff;
- uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x54, Return x107);
- uint32_t x111 = x74 & 0x1ffff;
- uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x57, Return x111);
- uint32_t x115 = x74 & 0x1ffff;
- uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x60, Return x115);
- uint32_t x119 = x74 & 0x1ffff;
- uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x63, Return x119);
- uint32_t x123 = x74 & 0x1ffff;
- uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x66, Return x123);
- uint32_t x127 = x74 & 0x1ffff;
- uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x69, Return x127);
- uint32_t x131 = x74 & 0x1ffff;
- uint32_t x133, uint8_t _ = Op (Syntax.AddWithGetCarry 17 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x72, Return x131);
- (Return x133, Return x129, Return x125, Return x121, Return x117, Return x113, Return x109, Return x105, Return x101, Return x97, Return x93, Return x89, Return x85, Return x81, Return x77))
+ λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
+ uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, Const 4193327);
+ uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, Const 2096127);
+ uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x1fffff);
+ uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x3fffff);
+ uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x1fffff);
+ uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0x1fffff);
+ uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0x3fffff);
+ uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x1fffff);
+ uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x1fffff);
+ uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0x3fffff);
+ uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x1fffff);
+ uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x1fffff);
+ uint32_t x59 = (uint32_t)cmovznz(x58, 0x0, 0xffffffff);
+ uint32_t x60 = (x59 & Const 4193327);
+ uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
+ uint32_t x64 = (x59 & Const 2096127);
+ uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
+ uint32_t x68 = (x59 & 0x1fffff);
+ uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
+ uint32_t x72 = (x59 & 0x3fffff);
+ uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
+ uint32_t x76 = (x59 & 0x1fffff);
+ uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
+ uint32_t x80 = (x59 & 0x1fffff);
+ uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
+ uint32_t x84 = (x59 & 0x3fffff);
+ uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
+ uint32_t x88 = (x59 & 0x1fffff);
+ uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
+ uint32_t x92 = (x59 & 0x1fffff);
+ uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
+ uint32_t x96 = (x59 & 0x3fffff);
+ uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
+ uint32_t x100 = (x59 & 0x1fffff);
+ uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
+ uint32_t x104 = (x59 & 0x1fffff);
+ uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
+ (Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e256m88x2e240m1/freezeDisplay.log b/src/Specific/solinas32_2e256m88x2e240m1/freezeDisplay.log
new file mode 100644
index 000000000..052898dfb
--- /dev/null
+++ b/src/Specific/solinas32_2e256m88x2e240m1/freezeDisplay.log
@@ -0,0 +1,44 @@
+λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
+ uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffff);
+ uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0x1fffff);
+ uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0x1fffff);
+ uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0x3fffff);
+ uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0x1fffff);
+ uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0x1fffff);
+ uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0x3fffff);
+ uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0x1fffff);
+ uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0x1fffff);
+ uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0x3fffff);
+ uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x1fffff);
+ uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, Const 2094335);
+ uint32_t x59 = (uint32_t)cmovznz(x58, 0x0, 0xffffffff);
+ uint32_t x60 = (x59 & 0x3fffff);
+ uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
+ uint32_t x64 = (x59 & 0x1fffff);
+ uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
+ uint32_t x68 = (x59 & 0x1fffff);
+ uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
+ uint32_t x72 = (x59 & 0x3fffff);
+ uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
+ uint32_t x76 = (x59 & 0x1fffff);
+ uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
+ uint32_t x80 = (x59 & 0x1fffff);
+ uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
+ uint32_t x84 = (x59 & 0x3fffff);
+ uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
+ uint32_t x88 = (x59 & 0x1fffff);
+ uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
+ uint32_t x92 = (x59 & 0x1fffff);
+ uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
+ uint32_t x96 = (x59 & 0x3fffff);
+ uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
+ uint32_t x100 = (x59 & 0x1fffff);
+ uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
+ uint32_t x104 = (x59 & Const 2094335);
+ uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
+ (Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
+x
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e266m3/femulDisplay.log b/src/Specific/solinas32_2e266m3/femulDisplay.log
index 3581f65ec..c8cb6dc94 100644
--- a/src/Specific/solinas32_2e266m3/femulDisplay.log
+++ b/src/Specific/solinas32_2e266m3/femulDisplay.log
@@ -2,59 +2,59 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint64_t x48 = (uint64_t) x5 * x46 + (0x2 * ((uint64_t) x7 * x47) + (0x2 * ((uint64_t) x9 * x45) + (0x2 * ((uint64_t) x11 * x43) + (0x2 * ((uint64_t) x13 * x41) + ((uint64_t) x15 * x39 + ((uint64_t) x17 * x37 + (0x2 * ((uint64_t) x19 * x35) + (0x2 * ((uint64_t) x21 * x33) + (0x2 * ((uint64_t) x23 * x31) + (0x2 * ((uint64_t) x25 * x29) + (uint64_t) x24 * x27))))))))));
- uint64_t x49 = (uint64_t) x5 * x47 + (0x2 * ((uint64_t) x7 * x45) + (0x2 * ((uint64_t) x9 * x43) + (0x2 * ((uint64_t) x11 * x41) + ((uint64_t) x13 * x39 + ((uint64_t) x15 * x37 + ((uint64_t) x17 * x35 + (0x2 * ((uint64_t) x19 * x33) + (0x2 * ((uint64_t) x21 * x31) + (0x2 * ((uint64_t) x23 * x29) + (uint64_t) x25 * x27))))))))) + 0x3 * ((uint64_t) x24 * x46);
- uint64_t x50 = (uint64_t) x5 * x45 + (0x2 * ((uint64_t) x7 * x43) + (0x2 * ((uint64_t) x9 * x41) + ((uint64_t) x11 * x39 + ((uint64_t) x13 * x37 + ((uint64_t) x15 * x35 + ((uint64_t) x17 * x33 + (0x2 * ((uint64_t) x19 * x31) + (0x2 * ((uint64_t) x21 * x29) + (uint64_t) x23 * x27)))))))) + 0x3 * ((uint64_t) x25 * x46 + (uint64_t) x24 * x47);
- uint64_t x51 = (uint64_t) x5 * x43 + (0x2 * ((uint64_t) x7 * x41) + ((uint64_t) x9 * x39 + ((uint64_t) x11 * x37 + ((uint64_t) x13 * x35 + ((uint64_t) x15 * x33 + ((uint64_t) x17 * x31 + (0x2 * ((uint64_t) x19 * x29) + (uint64_t) x21 * x27))))))) + 0x3 * ((uint64_t) x23 * x46 + ((uint64_t) x25 * x47 + (uint64_t) x24 * x45));
- uint64_t x52 = (uint64_t) x5 * x41 + ((uint64_t) x7 * x39 + ((uint64_t) x9 * x37 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + ((uint64_t) x15 * x31 + ((uint64_t) x17 * x29 + (uint64_t) x19 * x27)))))) + 0x3 * ((uint64_t) x21 * x46 + ((uint64_t) x23 * x47 + ((uint64_t) x25 * x45 + (uint64_t) x24 * x43)));
- uint64_t x53 = (uint64_t) x5 * x39 + (0x2 * ((uint64_t) x7 * x37) + (0x2 * ((uint64_t) x9 * x35) + (0x2 * ((uint64_t) x11 * x33) + (0x2 * ((uint64_t) x13 * x31) + (0x2 * ((uint64_t) x15 * x29) + (uint64_t) x17 * x27))))) + 0x3 * (0x2 * ((uint64_t) x19 * x46) + (0x2 * ((uint64_t) x21 * x47) + (0x2 * ((uint64_t) x23 * x45) + (0x2 * ((uint64_t) x25 * x43) + 0x2 * ((uint64_t) x24 * x41)))));
- uint64_t x54 = (uint64_t) x5 * x37 + (0x2 * ((uint64_t) x7 * x35) + (0x2 * ((uint64_t) x9 * x33) + (0x2 * ((uint64_t) x11 * x31) + (0x2 * ((uint64_t) x13 * x29) + (uint64_t) x15 * x27)))) + 0x3 * ((uint64_t) x17 * x46 + (0x2 * ((uint64_t) x19 * x47) + (0x2 * ((uint64_t) x21 * x45) + (0x2 * ((uint64_t) x23 * x43) + (0x2 * ((uint64_t) x25 * x41) + (uint64_t) x24 * x39)))));
- uint64_t x55 = (uint64_t) x5 * x35 + (0x2 * ((uint64_t) x7 * x33) + (0x2 * ((uint64_t) x9 * x31) + (0x2 * ((uint64_t) x11 * x29) + (uint64_t) x13 * x27))) + 0x3 * ((uint64_t) x15 * x46 + ((uint64_t) x17 * x47 + (0x2 * ((uint64_t) x19 * x45) + (0x2 * ((uint64_t) x21 * x43) + (0x2 * ((uint64_t) x23 * x41) + ((uint64_t) x25 * x39 + (uint64_t) x24 * x37))))));
- uint64_t x56 = (uint64_t) x5 * x33 + (0x2 * ((uint64_t) x7 * x31) + (0x2 * ((uint64_t) x9 * x29) + (uint64_t) x11 * x27)) + 0x3 * ((uint64_t) x13 * x46 + ((uint64_t) x15 * x47 + ((uint64_t) x17 * x45 + (0x2 * ((uint64_t) x19 * x43) + (0x2 * ((uint64_t) x21 * x41) + ((uint64_t) x23 * x39 + ((uint64_t) x25 * x37 + (uint64_t) x24 * x35)))))));
- uint64_t x57 = (uint64_t) x5 * x31 + (0x2 * ((uint64_t) x7 * x29) + (uint64_t) x9 * x27) + 0x3 * ((uint64_t) x11 * x46 + ((uint64_t) x13 * x47 + ((uint64_t) x15 * x45 + ((uint64_t) x17 * x43 + (0x2 * ((uint64_t) x19 * x41) + ((uint64_t) x21 * x39 + ((uint64_t) x23 * x37 + ((uint64_t) x25 * x35 + (uint64_t) x24 * x33))))))));
- uint64_t x58 = (uint64_t) x5 * x29 + (uint64_t) x7 * x27 + 0x3 * ((uint64_t) x9 * x46 + ((uint64_t) x11 * x47 + ((uint64_t) x13 * x45 + ((uint64_t) x15 * x43 + ((uint64_t) x17 * x41 + ((uint64_t) x19 * x39 + ((uint64_t) x21 * x37 + ((uint64_t) x23 * x35 + ((uint64_t) x25 * x33 + (uint64_t) x24 * x31)))))))));
- uint64_t x59 = (uint64_t) x5 * x27 + 0x3 * (0x2 * ((uint64_t) x7 * x46) + (0x2 * ((uint64_t) x9 * x47) + (0x2 * ((uint64_t) x11 * x45) + (0x2 * ((uint64_t) x13 * x43) + (0x2 * ((uint64_t) x15 * x41) + ((uint64_t) x17 * x39 + (0x2 * ((uint64_t) x19 * x37) + (0x2 * ((uint64_t) x21 * x35) + (0x2 * ((uint64_t) x23 * x33) + (0x2 * ((uint64_t) x25 * x31) + 0x2 * ((uint64_t) x24 * x29)))))))))));
+ uint64_t x48 = (((uint64_t)x5 * x46) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + ((0x2 * ((uint64_t)x11 * x43)) + ((0x2 * ((uint64_t)x13 * x41)) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + ((0x2 * ((uint64_t)x19 * x35)) + ((0x2 * ((uint64_t)x21 * x33)) + ((0x2 * ((uint64_t)x23 * x31)) + ((0x2 * ((uint64_t)x25 * x29)) + ((uint64_t)x24 * x27))))))))))));
+ uint64_t x49 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + ((0x2 * ((uint64_t)x9 * x43)) + ((0x2 * ((uint64_t)x11 * x41)) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + ((0x2 * ((uint64_t)x19 * x33)) + ((0x2 * ((uint64_t)x21 * x31)) + ((0x2 * ((uint64_t)x23 * x29)) + ((uint64_t)x25 * x27))))))))))) + (0x3 * ((uint64_t)x24 * x46)));
+ uint64_t x50 = ((((uint64_t)x5 * x45) + ((0x2 * ((uint64_t)x7 * x43)) + ((0x2 * ((uint64_t)x9 * x41)) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + ((0x2 * ((uint64_t)x19 * x31)) + ((0x2 * ((uint64_t)x21 * x29)) + ((uint64_t)x23 * x27)))))))))) + (0x3 * (((uint64_t)x25 * x46) + ((uint64_t)x24 * x47))));
+ uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0x3 * (((uint64_t)x23 * x46) + (((uint64_t)x25 * x47) + ((uint64_t)x24 * x45)))));
+ uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + (0x3 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))));
+ uint64_t x53 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + ((0x2 * ((uint64_t)x9 * x35)) + ((0x2 * ((uint64_t)x11 * x33)) + ((0x2 * ((uint64_t)x13 * x31)) + ((0x2 * ((uint64_t)x15 * x29)) + ((uint64_t)x17 * x27))))))) + (0x3 * ((0x2 * ((uint64_t)x19 * x46)) + ((0x2 * ((uint64_t)x21 * x47)) + ((0x2 * ((uint64_t)x23 * x45)) + ((0x2 * ((uint64_t)x25 * x43)) + (0x2 * ((uint64_t)x24 * x41))))))));
+ uint64_t x54 = ((((uint64_t)x5 * x37) + ((0x2 * ((uint64_t)x7 * x35)) + ((0x2 * ((uint64_t)x9 * x33)) + ((0x2 * ((uint64_t)x11 * x31)) + ((0x2 * ((uint64_t)x13 * x29)) + ((uint64_t)x15 * x27)))))) + (0x3 * (((uint64_t)x17 * x46) + ((0x2 * ((uint64_t)x19 * x47)) + ((0x2 * ((uint64_t)x21 * x45)) + ((0x2 * ((uint64_t)x23 * x43)) + ((0x2 * ((uint64_t)x25 * x41)) + ((uint64_t)x24 * x39))))))));
+ uint64_t x55 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((uint64_t)x13 * x27))))) + (0x3 * (((uint64_t)x15 * x46) + (((uint64_t)x17 * x47) + ((0x2 * ((uint64_t)x19 * x45)) + ((0x2 * ((uint64_t)x21 * x43)) + ((0x2 * ((uint64_t)x23 * x41)) + (((uint64_t)x25 * x39) + ((uint64_t)x24 * x37)))))))));
+ uint64_t x56 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((uint64_t)x11 * x27)))) + (0x3 * (((uint64_t)x13 * x46) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + ((0x2 * ((uint64_t)x19 * x43)) + ((0x2 * ((uint64_t)x21 * x41)) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x24 * x35))))))))));
+ uint64_t x57 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((uint64_t)x9 * x27))) + (0x3 * (((uint64_t)x11 * x46) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + ((0x2 * ((uint64_t)x19 * x41)) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + ((uint64_t)x24 * x33)))))))))));
+ uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (0x3 * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))));
+ uint64_t x59 = (((uint64_t)x5 * x27) + (0x3 * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + ((0x2 * ((uint64_t)x13 * x43)) + ((0x2 * ((uint64_t)x15 * x41)) + (((uint64_t)x17 * x39) + ((0x2 * ((uint64_t)x19 * x37)) + ((0x2 * ((uint64_t)x21 * x35)) + ((0x2 * ((uint64_t)x23 * x33)) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
uint32_t x60 = (uint32_t) (x59 >> 0x17);
- uint32_t x61 = (uint32_t) x59 & 0x7fffff;
- uint64_t x62 = x60 + x58;
+ uint32_t x61 = ((uint32_t)x59 & 0x7fffff);
+ uint64_t x62 = (x60 + x58);
uint32_t x63 = (uint32_t) (x62 >> 0x16);
- uint32_t x64 = (uint32_t) x62 & 0x3fffff;
- uint64_t x65 = x63 + x57;
+ uint32_t x64 = ((uint32_t)x62 & 0x3fffff);
+ uint64_t x65 = (x63 + x57);
uint32_t x66 = (uint32_t) (x65 >> 0x16);
- uint32_t x67 = (uint32_t) x65 & 0x3fffff;
- uint64_t x68 = x66 + x56;
+ uint32_t x67 = ((uint32_t)x65 & 0x3fffff);
+ uint64_t x68 = (x66 + x56);
uint32_t x69 = (uint32_t) (x68 >> 0x16);
- uint32_t x70 = (uint32_t) x68 & 0x3fffff;
- uint64_t x71 = x69 + x55;
+ uint32_t x70 = ((uint32_t)x68 & 0x3fffff);
+ uint64_t x71 = (x69 + x55);
uint32_t x72 = (uint32_t) (x71 >> 0x16);
- uint32_t x73 = (uint32_t) x71 & 0x3fffff;
- uint64_t x74 = x72 + x54;
+ uint32_t x73 = ((uint32_t)x71 & 0x3fffff);
+ uint64_t x74 = (x72 + x54);
uint32_t x75 = (uint32_t) (x74 >> 0x16);
- uint32_t x76 = (uint32_t) x74 & 0x3fffff;
- uint64_t x77 = x75 + x53;
+ uint32_t x76 = ((uint32_t)x74 & 0x3fffff);
+ uint64_t x77 = (x75 + x53);
uint32_t x78 = (uint32_t) (x77 >> 0x17);
- uint32_t x79 = (uint32_t) x77 & 0x7fffff;
- uint64_t x80 = x78 + x52;
+ uint32_t x79 = ((uint32_t)x77 & 0x7fffff);
+ uint64_t x80 = (x78 + x52);
uint32_t x81 = (uint32_t) (x80 >> 0x16);
- uint32_t x82 = (uint32_t) x80 & 0x3fffff;
- uint64_t x83 = x81 + x51;
+ uint32_t x82 = ((uint32_t)x80 & 0x3fffff);
+ uint64_t x83 = (x81 + x51);
uint32_t x84 = (uint32_t) (x83 >> 0x16);
- uint32_t x85 = (uint32_t) x83 & 0x3fffff;
- uint64_t x86 = x84 + x50;
+ uint32_t x85 = ((uint32_t)x83 & 0x3fffff);
+ uint64_t x86 = (x84 + x50);
uint32_t x87 = (uint32_t) (x86 >> 0x16);
- uint32_t x88 = (uint32_t) x86 & 0x3fffff;
- uint64_t x89 = x87 + x49;
+ uint32_t x88 = ((uint32_t)x86 & 0x3fffff);
+ uint64_t x89 = (x87 + x49);
uint32_t x90 = (uint32_t) (x89 >> 0x16);
- uint32_t x91 = (uint32_t) x89 & 0x3fffff;
- uint64_t x92 = x90 + x48;
+ uint32_t x91 = ((uint32_t)x89 & 0x3fffff);
+ uint64_t x92 = (x90 + x48);
uint32_t x93 = (uint32_t) (x92 >> 0x16);
- uint32_t x94 = (uint32_t) x92 & 0x3fffff;
- uint32_t x95 = x61 + 0x3 * x93;
- uint32_t x96 = x95 >> 0x17;
- uint32_t x97 = x95 & 0x7fffff;
- uint32_t x98 = x96 + x64;
- uint32_t x99 = x98 >> 0x16;
- uint32_t x100 = x98 & 0x3fffff;
- return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, x99 + x67, Return x100, Return x97))
+ uint32_t x94 = ((uint32_t)x92 & 0x3fffff);
+ uint32_t x95 = (x61 + (0x3 * x93));
+ uint32_t x96 = (x95 >> 0x17);
+ uint32_t x97 = (x95 & 0x7fffff);
+ uint32_t x98 = (x96 + x64);
+ uint32_t x99 = (x98 >> 0x16);
+ uint32_t x100 = (x98 & 0x3fffff);
+ return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, (x99 + x67), Return x100, Return x97))
(x, x0)%core
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e266m3/fesquareDisplay.log b/src/Specific/solinas32_2e266m3/fesquareDisplay.log
index 8add07b67..7caaf7389 100644
--- a/src/Specific/solinas32_2e266m3/fesquareDisplay.log
+++ b/src/Specific/solinas32_2e266m3/fesquareDisplay.log
@@ -2,59 +2,59 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x23 = (uint64_t) x2 * x21 + (0x2 * ((uint64_t) x4 * x22) + (0x2 * ((uint64_t) x6 * x20) + (0x2 * ((uint64_t) x8 * x18) + (0x2 * ((uint64_t) x10 * x16) + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + (0x2 * ((uint64_t) x16 * x10) + (0x2 * ((uint64_t) x18 * x8) + (0x2 * ((uint64_t) x20 * x6) + (0x2 * ((uint64_t) x22 * x4) + (uint64_t) x21 * x2))))))))));
- uint64_t x24 = (uint64_t) x2 * x22 + (0x2 * ((uint64_t) x4 * x20) + (0x2 * ((uint64_t) x6 * x18) + (0x2 * ((uint64_t) x8 * x16) + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + (0x2 * ((uint64_t) x16 * x8) + (0x2 * ((uint64_t) x18 * x6) + (0x2 * ((uint64_t) x20 * x4) + (uint64_t) x22 * x2))))))))) + 0x3 * ((uint64_t) x21 * x21);
- uint64_t x25 = (uint64_t) x2 * x20 + (0x2 * ((uint64_t) x4 * x18) + (0x2 * ((uint64_t) x6 * x16) + ((uint64_t) x8 * x14 + ((uint64_t) x10 * x12 + ((uint64_t) x12 * x10 + ((uint64_t) x14 * x8 + (0x2 * ((uint64_t) x16 * x6) + (0x2 * ((uint64_t) x18 * x4) + (uint64_t) x20 * x2)))))))) + 0x3 * ((uint64_t) x22 * x21 + (uint64_t) x21 * x22);
- uint64_t x26 = (uint64_t) x2 * x18 + (0x2 * ((uint64_t) x4 * x16) + ((uint64_t) x6 * x14 + ((uint64_t) x8 * x12 + ((uint64_t) x10 * x10 + ((uint64_t) x12 * x8 + ((uint64_t) x14 * x6 + (0x2 * ((uint64_t) x16 * x4) + (uint64_t) x18 * x2))))))) + 0x3 * ((uint64_t) x20 * x21 + ((uint64_t) x22 * x22 + (uint64_t) x21 * x20));
- uint64_t x27 = (uint64_t) x2 * x16 + ((uint64_t) x4 * x14 + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + ((uint64_t) x14 * x4 + (uint64_t) x16 * x2)))))) + 0x3 * ((uint64_t) x18 * x21 + ((uint64_t) x20 * x22 + ((uint64_t) x22 * x20 + (uint64_t) x21 * x18)));
- uint64_t x28 = (uint64_t) x2 * x14 + (0x2 * ((uint64_t) x4 * x12) + (0x2 * ((uint64_t) x6 * x10) + (0x2 * ((uint64_t) x8 * x8) + (0x2 * ((uint64_t) x10 * x6) + (0x2 * ((uint64_t) x12 * x4) + (uint64_t) x14 * x2))))) + 0x3 * (0x2 * ((uint64_t) x16 * x21) + (0x2 * ((uint64_t) x18 * x22) + (0x2 * ((uint64_t) x20 * x20) + (0x2 * ((uint64_t) x22 * x18) + 0x2 * ((uint64_t) x21 * x16)))));
- uint64_t x29 = (uint64_t) x2 * x12 + (0x2 * ((uint64_t) x4 * x10) + (0x2 * ((uint64_t) x6 * x8) + (0x2 * ((uint64_t) x8 * x6) + (0x2 * ((uint64_t) x10 * x4) + (uint64_t) x12 * x2)))) + 0x3 * ((uint64_t) x14 * x21 + (0x2 * ((uint64_t) x16 * x22) + (0x2 * ((uint64_t) x18 * x20) + (0x2 * ((uint64_t) x20 * x18) + (0x2 * ((uint64_t) x22 * x16) + (uint64_t) x21 * x14)))));
- uint64_t x30 = (uint64_t) x2 * x10 + (0x2 * ((uint64_t) x4 * x8) + (0x2 * ((uint64_t) x6 * x6) + (0x2 * ((uint64_t) x8 * x4) + (uint64_t) x10 * x2))) + 0x3 * ((uint64_t) x12 * x21 + ((uint64_t) x14 * x22 + (0x2 * ((uint64_t) x16 * x20) + (0x2 * ((uint64_t) x18 * x18) + (0x2 * ((uint64_t) x20 * x16) + ((uint64_t) x22 * x14 + (uint64_t) x21 * x12))))));
- uint64_t x31 = (uint64_t) x2 * x8 + (0x2 * ((uint64_t) x4 * x6) + (0x2 * ((uint64_t) x6 * x4) + (uint64_t) x8 * x2)) + 0x3 * ((uint64_t) x10 * x21 + ((uint64_t) x12 * x22 + ((uint64_t) x14 * x20 + (0x2 * ((uint64_t) x16 * x18) + (0x2 * ((uint64_t) x18 * x16) + ((uint64_t) x20 * x14 + ((uint64_t) x22 * x12 + (uint64_t) x21 * x10)))))));
- uint64_t x32 = (uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2) + 0x3 * ((uint64_t) x8 * x21 + ((uint64_t) x10 * x22 + ((uint64_t) x12 * x20 + ((uint64_t) x14 * x18 + (0x2 * ((uint64_t) x16 * x16) + ((uint64_t) x18 * x14 + ((uint64_t) x20 * x12 + ((uint64_t) x22 * x10 + (uint64_t) x21 * x8))))))));
- uint64_t x33 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x3 * ((uint64_t) x6 * x21 + ((uint64_t) x8 * x22 + ((uint64_t) x10 * x20 + ((uint64_t) x12 * x18 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + ((uint64_t) x18 * x12 + ((uint64_t) x20 * x10 + ((uint64_t) x22 * x8 + (uint64_t) x21 * x6)))))))));
- uint64_t x34 = (uint64_t) x2 * x2 + 0x3 * (0x2 * ((uint64_t) x4 * x21) + (0x2 * ((uint64_t) x6 * x22) + (0x2 * ((uint64_t) x8 * x20) + (0x2 * ((uint64_t) x10 * x18) + (0x2 * ((uint64_t) x12 * x16) + ((uint64_t) x14 * x14 + (0x2 * ((uint64_t) x16 * x12) + (0x2 * ((uint64_t) x18 * x10) + (0x2 * ((uint64_t) x20 * x8) + (0x2 * ((uint64_t) x22 * x6) + 0x2 * ((uint64_t) x21 * x4)))))))))));
+ uint64_t x23 = (((uint64_t)x2 * x21) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x21 * x2))))))))))));
+ uint64_t x24 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x3 * ((uint64_t)x21 * x21)));
+ uint64_t x25 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x3 * (((uint64_t)x22 * x21) + ((uint64_t)x21 * x22))));
+ uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x3 * (((uint64_t)x20 * x21) + (((uint64_t)x22 * x22) + ((uint64_t)x21 * x20)))));
+ uint64_t x27 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x3 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))));
+ uint64_t x28 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x3 * ((0x2 * ((uint64_t)x16 * x21)) + ((0x2 * ((uint64_t)x18 * x22)) + ((0x2 * ((uint64_t)x20 * x20)) + ((0x2 * ((uint64_t)x22 * x18)) + (0x2 * ((uint64_t)x21 * x16))))))));
+ uint64_t x29 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x3 * (((uint64_t)x14 * x21) + ((0x2 * ((uint64_t)x16 * x22)) + ((0x2 * ((uint64_t)x18 * x20)) + ((0x2 * ((uint64_t)x20 * x18)) + ((0x2 * ((uint64_t)x22 * x16)) + ((uint64_t)x21 * x14))))))));
+ uint64_t x30 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x3 * (((uint64_t)x12 * x21) + (((uint64_t)x14 * x22) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + (((uint64_t)x22 * x14) + ((uint64_t)x21 * x12)))))))));
+ uint64_t x31 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x3 * (((uint64_t)x10 * x21) + (((uint64_t)x12 * x22) + (((uint64_t)x14 * x20) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + (((uint64_t)x20 * x14) + (((uint64_t)x22 * x12) + ((uint64_t)x21 * x10))))))))));
+ uint64_t x32 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x3 * (((uint64_t)x8 * x21) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + ((0x2 * ((uint64_t)x16 * x16)) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + ((uint64_t)x21 * x8)))))))))));
+ uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x3 * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))));
+ uint64_t x34 = (((uint64_t)x2 * x2) + (0x3 * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + (((uint64_t)x14 * x14) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
uint32_t x35 = (uint32_t) (x34 >> 0x17);
- uint32_t x36 = (uint32_t) x34 & 0x7fffff;
- uint64_t x37 = x35 + x33;
+ uint32_t x36 = ((uint32_t)x34 & 0x7fffff);
+ uint64_t x37 = (x35 + x33);
uint32_t x38 = (uint32_t) (x37 >> 0x16);
- uint32_t x39 = (uint32_t) x37 & 0x3fffff;
- uint64_t x40 = x38 + x32;
+ uint32_t x39 = ((uint32_t)x37 & 0x3fffff);
+ uint64_t x40 = (x38 + x32);
uint32_t x41 = (uint32_t) (x40 >> 0x16);
- uint32_t x42 = (uint32_t) x40 & 0x3fffff;
- uint64_t x43 = x41 + x31;
+ uint32_t x42 = ((uint32_t)x40 & 0x3fffff);
+ uint64_t x43 = (x41 + x31);
uint32_t x44 = (uint32_t) (x43 >> 0x16);
- uint32_t x45 = (uint32_t) x43 & 0x3fffff;
- uint64_t x46 = x44 + x30;
+ uint32_t x45 = ((uint32_t)x43 & 0x3fffff);
+ uint64_t x46 = (x44 + x30);
uint32_t x47 = (uint32_t) (x46 >> 0x16);
- uint32_t x48 = (uint32_t) x46 & 0x3fffff;
- uint64_t x49 = x47 + x29;
+ uint32_t x48 = ((uint32_t)x46 & 0x3fffff);
+ uint64_t x49 = (x47 + x29);
uint32_t x50 = (uint32_t) (x49 >> 0x16);
- uint32_t x51 = (uint32_t) x49 & 0x3fffff;
- uint64_t x52 = x50 + x28;
+ uint32_t x51 = ((uint32_t)x49 & 0x3fffff);
+ uint64_t x52 = (x50 + x28);
uint32_t x53 = (uint32_t) (x52 >> 0x17);
- uint32_t x54 = (uint32_t) x52 & 0x7fffff;
- uint64_t x55 = x53 + x27;
+ uint32_t x54 = ((uint32_t)x52 & 0x7fffff);
+ uint64_t x55 = (x53 + x27);
uint32_t x56 = (uint32_t) (x55 >> 0x16);
- uint32_t x57 = (uint32_t) x55 & 0x3fffff;
- uint64_t x58 = x56 + x26;
+ uint32_t x57 = ((uint32_t)x55 & 0x3fffff);
+ uint64_t x58 = (x56 + x26);
uint32_t x59 = (uint32_t) (x58 >> 0x16);
- uint32_t x60 = (uint32_t) x58 & 0x3fffff;
- uint64_t x61 = x59 + x25;
+ uint32_t x60 = ((uint32_t)x58 & 0x3fffff);
+ uint64_t x61 = (x59 + x25);
uint32_t x62 = (uint32_t) (x61 >> 0x16);
- uint32_t x63 = (uint32_t) x61 & 0x3fffff;
- uint64_t x64 = x62 + x24;
+ uint32_t x63 = ((uint32_t)x61 & 0x3fffff);
+ uint64_t x64 = (x62 + x24);
uint32_t x65 = (uint32_t) (x64 >> 0x16);
- uint32_t x66 = (uint32_t) x64 & 0x3fffff;
- uint64_t x67 = x65 + x23;
+ uint32_t x66 = ((uint32_t)x64 & 0x3fffff);
+ uint64_t x67 = (x65 + x23);
uint32_t x68 = (uint32_t) (x67 >> 0x16);
- uint32_t x69 = (uint32_t) x67 & 0x3fffff;
- uint32_t x70 = x36 + 0x3 * x68;
- uint32_t x71 = x70 >> 0x17;
- uint32_t x72 = x70 & 0x7fffff;
- uint32_t x73 = x71 + x39;
- uint32_t x74 = x73 >> 0x16;
- uint32_t x75 = x73 & 0x3fffff;
- return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, x74 + x42, Return x75, Return x72))
+ uint32_t x69 = ((uint32_t)x67 & 0x3fffff);
+ uint32_t x70 = (x36 + (0x3 * x68));
+ uint32_t x71 = (x70 >> 0x17);
+ uint32_t x72 = (x70 & 0x7fffff);
+ uint32_t x73 = (x71 + x39);
+ uint32_t x74 = (x73 >> 0x16);
+ uint32_t x75 = (x73 & 0x3fffff);
+ return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, (x74 + x42), Return x75, Return x72))
x
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e266m3/freezeDisplay.log b/src/Specific/solinas32_2e266m3/freezeDisplay.log
index c54ab41c1..0dae34bb9 100644
--- a/src/Specific/solinas32_2e266m3/freezeDisplay.log
+++ b/src/Specific/solinas32_2e266m3/freezeDisplay.log
@@ -15,29 +15,29 @@ Interp-η
uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0x3fffff);
uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0x3fffff);
uint32_t x59 = (uint32_t)cmovznz(x58, 0x0, 0xffffffff);
- uint32_t x60 = x59 & 0x7ffffd;
+ uint32_t x60 = (x59 & 0x7ffffd);
uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- uint32_t x64 = x59 & 0x3fffff;
+ uint32_t x64 = (x59 & 0x3fffff);
uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- uint32_t x68 = x59 & 0x3fffff;
+ uint32_t x68 = (x59 & 0x3fffff);
uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- uint32_t x72 = x59 & 0x3fffff;
+ uint32_t x72 = (x59 & 0x3fffff);
uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- uint32_t x76 = x59 & 0x3fffff;
+ uint32_t x76 = (x59 & 0x3fffff);
uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- uint32_t x80 = x59 & 0x3fffff;
+ uint32_t x80 = (x59 & 0x3fffff);
uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- uint32_t x84 = x59 & 0x7fffff;
+ uint32_t x84 = (x59 & 0x7fffff);
uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- uint32_t x88 = x59 & 0x3fffff;
+ uint32_t x88 = (x59 & 0x3fffff);
uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- uint32_t x92 = x59 & 0x3fffff;
+ uint32_t x92 = (x59 & 0x3fffff);
uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- uint32_t x96 = x59 & 0x3fffff;
+ uint32_t x96 = (x59 & 0x3fffff);
uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- uint32_t x100 = x59 & 0x3fffff;
+ uint32_t x100 = (x59 & 0x3fffff);
uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- uint32_t x104 = x59 & 0x3fffff;
+ uint32_t x104 = (x59 & 0x3fffff);
uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 22 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
(Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
x
diff --git a/src/Specific/solinas32_2e285m9/femulDisplay.log b/src/Specific/solinas32_2e285m9/femulDisplay.log
index ac5756afd..f2aa99561 100644
--- a/src/Specific/solinas32_2e285m9/femulDisplay.log
+++ b/src/Specific/solinas32_2e285m9/femulDisplay.log
@@ -2,71 +2,71 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x30, x31, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x58, x59, x57, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33))%core,
- uint64_t x60 = (uint64_t) x5 * x58 + ((uint64_t) x7 * x59 + ((uint64_t) x9 * x57 + ((uint64_t) x11 * x55 + ((uint64_t) x13 * x53 + ((uint64_t) x15 * x51 + ((uint64_t) x17 * x49 + ((uint64_t) x19 * x47 + ((uint64_t) x21 * x45 + ((uint64_t) x23 * x43 + ((uint64_t) x25 * x41 + ((uint64_t) x27 * x39 + ((uint64_t) x29 * x37 + ((uint64_t) x31 * x35 + (uint64_t) x30 * x33)))))))))))));
- uint64_t x61 = (uint64_t) x5 * x59 + ((uint64_t) x7 * x57 + ((uint64_t) x9 * x55 + ((uint64_t) x11 * x53 + ((uint64_t) x13 * x51 + ((uint64_t) x15 * x49 + ((uint64_t) x17 * x47 + ((uint64_t) x19 * x45 + ((uint64_t) x21 * x43 + ((uint64_t) x23 * x41 + ((uint64_t) x25 * x39 + ((uint64_t) x27 * x37 + ((uint64_t) x29 * x35 + (uint64_t) x31 * x33)))))))))))) + 0x9 * ((uint64_t) x30 * x58);
- uint64_t x62 = (uint64_t) x5 * x57 + ((uint64_t) x7 * x55 + ((uint64_t) x9 * x53 + ((uint64_t) x11 * x51 + ((uint64_t) x13 * x49 + ((uint64_t) x15 * x47 + ((uint64_t) x17 * x45 + ((uint64_t) x19 * x43 + ((uint64_t) x21 * x41 + ((uint64_t) x23 * x39 + ((uint64_t) x25 * x37 + ((uint64_t) x27 * x35 + (uint64_t) x29 * x33))))))))))) + 0x9 * ((uint64_t) x31 * x58 + (uint64_t) x30 * x59);
- uint64_t x63 = (uint64_t) x5 * x55 + ((uint64_t) x7 * x53 + ((uint64_t) x9 * x51 + ((uint64_t) x11 * x49 + ((uint64_t) x13 * x47 + ((uint64_t) x15 * x45 + ((uint64_t) x17 * x43 + ((uint64_t) x19 * x41 + ((uint64_t) x21 * x39 + ((uint64_t) x23 * x37 + ((uint64_t) x25 * x35 + (uint64_t) x27 * x33)))))))))) + 0x9 * ((uint64_t) x29 * x58 + ((uint64_t) x31 * x59 + (uint64_t) x30 * x57));
- uint64_t x64 = (uint64_t) x5 * x53 + ((uint64_t) x7 * x51 + ((uint64_t) x9 * x49 + ((uint64_t) x11 * x47 + ((uint64_t) x13 * x45 + ((uint64_t) x15 * x43 + ((uint64_t) x17 * x41 + ((uint64_t) x19 * x39 + ((uint64_t) x21 * x37 + ((uint64_t) x23 * x35 + (uint64_t) x25 * x33))))))))) + 0x9 * ((uint64_t) x27 * x58 + ((uint64_t) x29 * x59 + ((uint64_t) x31 * x57 + (uint64_t) x30 * x55)));
- uint64_t x65 = (uint64_t) x5 * x51 + ((uint64_t) x7 * x49 + ((uint64_t) x9 * x47 + ((uint64_t) x11 * x45 + ((uint64_t) x13 * x43 + ((uint64_t) x15 * x41 + ((uint64_t) x17 * x39 + ((uint64_t) x19 * x37 + ((uint64_t) x21 * x35 + (uint64_t) x23 * x33)))))))) + 0x9 * ((uint64_t) x25 * x58 + ((uint64_t) x27 * x59 + ((uint64_t) x29 * x57 + ((uint64_t) x31 * x55 + (uint64_t) x30 * x53))));
- uint64_t x66 = (uint64_t) x5 * x49 + ((uint64_t) x7 * x47 + ((uint64_t) x9 * x45 + ((uint64_t) x11 * x43 + ((uint64_t) x13 * x41 + ((uint64_t) x15 * x39 + ((uint64_t) x17 * x37 + ((uint64_t) x19 * x35 + (uint64_t) x21 * x33))))))) + 0x9 * ((uint64_t) x23 * x58 + ((uint64_t) x25 * x59 + ((uint64_t) x27 * x57 + ((uint64_t) x29 * x55 + ((uint64_t) x31 * x53 + (uint64_t) x30 * x51)))));
- uint64_t x67 = (uint64_t) x5 * x47 + ((uint64_t) x7 * x45 + ((uint64_t) x9 * x43 + ((uint64_t) x11 * x41 + ((uint64_t) x13 * x39 + ((uint64_t) x15 * x37 + ((uint64_t) x17 * x35 + (uint64_t) x19 * x33)))))) + 0x9 * ((uint64_t) x21 * x58 + ((uint64_t) x23 * x59 + ((uint64_t) x25 * x57 + ((uint64_t) x27 * x55 + ((uint64_t) x29 * x53 + ((uint64_t) x31 * x51 + (uint64_t) x30 * x49))))));
- uint64_t x68 = (uint64_t) x5 * x45 + ((uint64_t) x7 * x43 + ((uint64_t) x9 * x41 + ((uint64_t) x11 * x39 + ((uint64_t) x13 * x37 + ((uint64_t) x15 * x35 + (uint64_t) x17 * x33))))) + 0x9 * ((uint64_t) x19 * x58 + ((uint64_t) x21 * x59 + ((uint64_t) x23 * x57 + ((uint64_t) x25 * x55 + ((uint64_t) x27 * x53 + ((uint64_t) x29 * x51 + ((uint64_t) x31 * x49 + (uint64_t) x30 * x47)))))));
- uint64_t x69 = (uint64_t) x5 * x43 + ((uint64_t) x7 * x41 + ((uint64_t) x9 * x39 + ((uint64_t) x11 * x37 + ((uint64_t) x13 * x35 + (uint64_t) x15 * x33)))) + 0x9 * ((uint64_t) x17 * x58 + ((uint64_t) x19 * x59 + ((uint64_t) x21 * x57 + ((uint64_t) x23 * x55 + ((uint64_t) x25 * x53 + ((uint64_t) x27 * x51 + ((uint64_t) x29 * x49 + ((uint64_t) x31 * x47 + (uint64_t) x30 * x45))))))));
- uint64_t x70 = (uint64_t) x5 * x41 + ((uint64_t) x7 * x39 + ((uint64_t) x9 * x37 + ((uint64_t) x11 * x35 + (uint64_t) x13 * x33))) + 0x9 * ((uint64_t) x15 * x58 + ((uint64_t) x17 * x59 + ((uint64_t) x19 * x57 + ((uint64_t) x21 * x55 + ((uint64_t) x23 * x53 + ((uint64_t) x25 * x51 + ((uint64_t) x27 * x49 + ((uint64_t) x29 * x47 + ((uint64_t) x31 * x45 + (uint64_t) x30 * x43)))))))));
- uint64_t x71 = (uint64_t) x5 * x39 + ((uint64_t) x7 * x37 + ((uint64_t) x9 * x35 + (uint64_t) x11 * x33)) + 0x9 * ((uint64_t) x13 * x58 + ((uint64_t) x15 * x59 + ((uint64_t) x17 * x57 + ((uint64_t) x19 * x55 + ((uint64_t) x21 * x53 + ((uint64_t) x23 * x51 + ((uint64_t) x25 * x49 + ((uint64_t) x27 * x47 + ((uint64_t) x29 * x45 + ((uint64_t) x31 * x43 + (uint64_t) x30 * x41))))))))));
- uint64_t x72 = (uint64_t) x5 * x37 + ((uint64_t) x7 * x35 + (uint64_t) x9 * x33) + 0x9 * ((uint64_t) x11 * x58 + ((uint64_t) x13 * x59 + ((uint64_t) x15 * x57 + ((uint64_t) x17 * x55 + ((uint64_t) x19 * x53 + ((uint64_t) x21 * x51 + ((uint64_t) x23 * x49 + ((uint64_t) x25 * x47 + ((uint64_t) x27 * x45 + ((uint64_t) x29 * x43 + ((uint64_t) x31 * x41 + (uint64_t) x30 * x39)))))))))));
- uint64_t x73 = (uint64_t) x5 * x35 + (uint64_t) x7 * x33 + 0x9 * ((uint64_t) x9 * x58 + ((uint64_t) x11 * x59 + ((uint64_t) x13 * x57 + ((uint64_t) x15 * x55 + ((uint64_t) x17 * x53 + ((uint64_t) x19 * x51 + ((uint64_t) x21 * x49 + ((uint64_t) x23 * x47 + ((uint64_t) x25 * x45 + ((uint64_t) x27 * x43 + ((uint64_t) x29 * x41 + ((uint64_t) x31 * x39 + (uint64_t) x30 * x37))))))))))));
- uint64_t x74 = (uint64_t) x5 * x33 + 0x9 * ((uint64_t) x7 * x58 + ((uint64_t) x9 * x59 + ((uint64_t) x11 * x57 + ((uint64_t) x13 * x55 + ((uint64_t) x15 * x53 + ((uint64_t) x17 * x51 + ((uint64_t) x19 * x49 + ((uint64_t) x21 * x47 + ((uint64_t) x23 * x45 + ((uint64_t) x25 * x43 + ((uint64_t) x27 * x41 + ((uint64_t) x29 * x39 + ((uint64_t) x31 * x37 + (uint64_t) x30 * x35)))))))))))));
+ uint64_t x60 = (((uint64_t)x5 * x58) + (((uint64_t)x7 * x59) + (((uint64_t)x9 * x57) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + (((uint64_t)x31 * x35) + ((uint64_t)x30 * x33)))))))))))))));
+ uint64_t x61 = ((((uint64_t)x5 * x59) + (((uint64_t)x7 * x57) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + (((uint64_t)x29 * x35) + ((uint64_t)x31 * x33)))))))))))))) + (0x9 * ((uint64_t)x30 * x58)));
+ uint64_t x62 = ((((uint64_t)x5 * x57) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + (((uint64_t)x27 * x35) + ((uint64_t)x29 * x33))))))))))))) + (0x9 * (((uint64_t)x31 * x58) + ((uint64_t)x30 * x59))));
+ uint64_t x63 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + ((uint64_t)x27 * x33)))))))))))) + (0x9 * (((uint64_t)x29 * x58) + (((uint64_t)x31 * x59) + ((uint64_t)x30 * x57)))));
+ uint64_t x64 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + ((uint64_t)x25 * x33))))))))))) + (0x9 * (((uint64_t)x27 * x58) + (((uint64_t)x29 * x59) + (((uint64_t)x31 * x57) + ((uint64_t)x30 * x55))))));
+ uint64_t x65 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + (((uint64_t)x21 * x35) + ((uint64_t)x23 * x33)))))))))) + (0x9 * (((uint64_t)x25 * x58) + (((uint64_t)x27 * x59) + (((uint64_t)x29 * x57) + (((uint64_t)x31 * x55) + ((uint64_t)x30 * x53)))))));
+ uint64_t x66 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + ((uint64_t)x21 * x33))))))))) + (0x9 * (((uint64_t)x23 * x58) + (((uint64_t)x25 * x59) + (((uint64_t)x27 * x57) + (((uint64_t)x29 * x55) + (((uint64_t)x31 * x53) + ((uint64_t)x30 * x51))))))));
+ uint64_t x67 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + ((uint64_t)x19 * x33)))))))) + (0x9 * (((uint64_t)x21 * x58) + (((uint64_t)x23 * x59) + (((uint64_t)x25 * x57) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + (((uint64_t)x31 * x51) + ((uint64_t)x30 * x49)))))))));
+ uint64_t x68 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + ((uint64_t)x17 * x33))))))) + (0x9 * (((uint64_t)x19 * x58) + (((uint64_t)x21 * x59) + (((uint64_t)x23 * x57) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + (((uint64_t)x31 * x49) + ((uint64_t)x30 * x47))))))))));
+ uint64_t x69 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + ((uint64_t)x15 * x33)))))) + (0x9 * (((uint64_t)x17 * x58) + (((uint64_t)x19 * x59) + (((uint64_t)x21 * x57) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + (((uint64_t)x31 * x47) + ((uint64_t)x30 * x45)))))))))));
+ uint64_t x70 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + ((uint64_t)x13 * x33))))) + (0x9 * (((uint64_t)x15 * x58) + (((uint64_t)x17 * x59) + (((uint64_t)x19 * x57) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + (((uint64_t)x31 * x45) + ((uint64_t)x30 * x43))))))))))));
+ uint64_t x71 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + ((uint64_t)x11 * x33)))) + (0x9 * (((uint64_t)x13 * x58) + (((uint64_t)x15 * x59) + (((uint64_t)x17 * x57) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + (((uint64_t)x29 * x45) + (((uint64_t)x31 * x43) + ((uint64_t)x30 * x41)))))))))))));
+ uint64_t x72 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + ((uint64_t)x9 * x33))) + (0x9 * (((uint64_t)x11 * x58) + (((uint64_t)x13 * x59) + (((uint64_t)x15 * x57) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + (((uint64_t)x31 * x41) + ((uint64_t)x30 * x39))))))))))))));
+ uint64_t x73 = ((((uint64_t)x5 * x35) + ((uint64_t)x7 * x33)) + (0x9 * (((uint64_t)x9 * x58) + (((uint64_t)x11 * x59) + (((uint64_t)x13 * x57) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (((uint64_t)x29 * x41) + (((uint64_t)x31 * x39) + ((uint64_t)x30 * x37)))))))))))))));
+ uint64_t x74 = (((uint64_t)x5 * x33) + (0x9 * (((uint64_t)x7 * x58) + (((uint64_t)x9 * x59) + (((uint64_t)x11 * x57) + (((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + (((uint64_t)x29 * x39) + (((uint64_t)x31 * x37) + ((uint64_t)x30 * x35))))))))))))))));
uint32_t x75 = (uint32_t) (x74 >> 0x13);
- uint32_t x76 = (uint32_t) x74 & 0x7ffff;
- uint64_t x77 = x75 + x73;
+ uint32_t x76 = ((uint32_t)x74 & 0x7ffff);
+ uint64_t x77 = (x75 + x73);
uint32_t x78 = (uint32_t) (x77 >> 0x13);
- uint32_t x79 = (uint32_t) x77 & 0x7ffff;
- uint64_t x80 = x78 + x72;
+ uint32_t x79 = ((uint32_t)x77 & 0x7ffff);
+ uint64_t x80 = (x78 + x72);
uint32_t x81 = (uint32_t) (x80 >> 0x13);
- uint32_t x82 = (uint32_t) x80 & 0x7ffff;
- uint64_t x83 = x81 + x71;
+ uint32_t x82 = ((uint32_t)x80 & 0x7ffff);
+ uint64_t x83 = (x81 + x71);
uint32_t x84 = (uint32_t) (x83 >> 0x13);
- uint32_t x85 = (uint32_t) x83 & 0x7ffff;
- uint64_t x86 = x84 + x70;
+ uint32_t x85 = ((uint32_t)x83 & 0x7ffff);
+ uint64_t x86 = (x84 + x70);
uint32_t x87 = (uint32_t) (x86 >> 0x13);
- uint32_t x88 = (uint32_t) x86 & 0x7ffff;
- uint64_t x89 = x87 + x69;
+ uint32_t x88 = ((uint32_t)x86 & 0x7ffff);
+ uint64_t x89 = (x87 + x69);
uint32_t x90 = (uint32_t) (x89 >> 0x13);
- uint32_t x91 = (uint32_t) x89 & 0x7ffff;
- uint64_t x92 = x90 + x68;
+ uint32_t x91 = ((uint32_t)x89 & 0x7ffff);
+ uint64_t x92 = (x90 + x68);
uint32_t x93 = (uint32_t) (x92 >> 0x13);
- uint32_t x94 = (uint32_t) x92 & 0x7ffff;
- uint64_t x95 = x93 + x67;
+ uint32_t x94 = ((uint32_t)x92 & 0x7ffff);
+ uint64_t x95 = (x93 + x67);
uint32_t x96 = (uint32_t) (x95 >> 0x13);
- uint32_t x97 = (uint32_t) x95 & 0x7ffff;
- uint64_t x98 = x96 + x66;
+ uint32_t x97 = ((uint32_t)x95 & 0x7ffff);
+ uint64_t x98 = (x96 + x66);
uint32_t x99 = (uint32_t) (x98 >> 0x13);
- uint32_t x100 = (uint32_t) x98 & 0x7ffff;
- uint64_t x101 = x99 + x65;
+ uint32_t x100 = ((uint32_t)x98 & 0x7ffff);
+ uint64_t x101 = (x99 + x65);
uint32_t x102 = (uint32_t) (x101 >> 0x13);
- uint32_t x103 = (uint32_t) x101 & 0x7ffff;
- uint64_t x104 = x102 + x64;
+ uint32_t x103 = ((uint32_t)x101 & 0x7ffff);
+ uint64_t x104 = (x102 + x64);
uint32_t x105 = (uint32_t) (x104 >> 0x13);
- uint32_t x106 = (uint32_t) x104 & 0x7ffff;
- uint64_t x107 = x105 + x63;
+ uint32_t x106 = ((uint32_t)x104 & 0x7ffff);
+ uint64_t x107 = (x105 + x63);
uint32_t x108 = (uint32_t) (x107 >> 0x13);
- uint32_t x109 = (uint32_t) x107 & 0x7ffff;
- uint64_t x110 = x108 + x62;
+ uint32_t x109 = ((uint32_t)x107 & 0x7ffff);
+ uint64_t x110 = (x108 + x62);
uint32_t x111 = (uint32_t) (x110 >> 0x13);
- uint32_t x112 = (uint32_t) x110 & 0x7ffff;
- uint64_t x113 = x111 + x61;
+ uint32_t x112 = ((uint32_t)x110 & 0x7ffff);
+ uint64_t x113 = (x111 + x61);
uint32_t x114 = (uint32_t) (x113 >> 0x13);
- uint32_t x115 = (uint32_t) x113 & 0x7ffff;
- uint64_t x116 = x114 + x60;
+ uint32_t x115 = ((uint32_t)x113 & 0x7ffff);
+ uint64_t x116 = (x114 + x60);
uint32_t x117 = (uint32_t) (x116 >> 0x13);
- uint32_t x118 = (uint32_t) x116 & 0x7ffff;
- uint32_t x119 = x76 + 0x9 * x117;
- uint32_t x120 = x119 >> 0x13;
- uint32_t x121 = x119 & 0x7ffff;
- uint32_t x122 = x120 + x79;
- uint32_t x123 = x122 >> 0x13;
- uint32_t x124 = x122 & 0x7ffff;
- return (Return x118, Return x115, Return x112, Return x109, Return x106, Return x103, Return x100, Return x97, Return x94, Return x91, Return x88, Return x85, x123 + x82, Return x124, Return x121))
+ uint32_t x118 = ((uint32_t)x116 & 0x7ffff);
+ uint32_t x119 = (x76 + (0x9 * x117));
+ uint32_t x120 = (x119 >> 0x13);
+ uint32_t x121 = (x119 & 0x7ffff);
+ uint32_t x122 = (x120 + x79);
+ uint32_t x123 = (x122 >> 0x13);
+ uint32_t x124 = (x122 & 0x7ffff);
+ return (Return x118, Return x115, Return x112, Return x109, Return x106, Return x103, Return x100, Return x97, Return x94, Return x91, Return x88, Return x85, (x123 + x82), Return x124, Return x121))
(x, x0)%core
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e285m9/fesquareDisplay.log b/src/Specific/solinas32_2e285m9/fesquareDisplay.log
index 51967da23..59eb5e2b1 100644
--- a/src/Specific/solinas32_2e285m9/fesquareDisplay.log
+++ b/src/Specific/solinas32_2e285m9/fesquareDisplay.log
@@ -2,71 +2,71 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x29 = (uint64_t) x2 * x27 + ((uint64_t) x4 * x28 + ((uint64_t) x6 * x26 + ((uint64_t) x8 * x24 + ((uint64_t) x10 * x22 + ((uint64_t) x12 * x20 + ((uint64_t) x14 * x18 + ((uint64_t) x16 * x16 + ((uint64_t) x18 * x14 + ((uint64_t) x20 * x12 + ((uint64_t) x22 * x10 + ((uint64_t) x24 * x8 + ((uint64_t) x26 * x6 + ((uint64_t) x28 * x4 + (uint64_t) x27 * x2)))))))))))));
- uint64_t x30 = (uint64_t) x2 * x28 + ((uint64_t) x4 * x26 + ((uint64_t) x6 * x24 + ((uint64_t) x8 * x22 + ((uint64_t) x10 * x20 + ((uint64_t) x12 * x18 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + ((uint64_t) x18 * x12 + ((uint64_t) x20 * x10 + ((uint64_t) x22 * x8 + ((uint64_t) x24 * x6 + ((uint64_t) x26 * x4 + (uint64_t) x28 * x2)))))))))))) + 0x9 * ((uint64_t) x27 * x27);
- uint64_t x31 = (uint64_t) x2 * x26 + ((uint64_t) x4 * x24 + ((uint64_t) x6 * x22 + ((uint64_t) x8 * x20 + ((uint64_t) x10 * x18 + ((uint64_t) x12 * x16 + ((uint64_t) x14 * x14 + ((uint64_t) x16 * x12 + ((uint64_t) x18 * x10 + ((uint64_t) x20 * x8 + ((uint64_t) x22 * x6 + ((uint64_t) x24 * x4 + (uint64_t) x26 * x2))))))))))) + 0x9 * ((uint64_t) x28 * x27 + (uint64_t) x27 * x28);
- uint64_t x32 = (uint64_t) x2 * x24 + ((uint64_t) x4 * x22 + ((uint64_t) x6 * x20 + ((uint64_t) x8 * x18 + ((uint64_t) x10 * x16 + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + ((uint64_t) x16 * x10 + ((uint64_t) x18 * x8 + ((uint64_t) x20 * x6 + ((uint64_t) x22 * x4 + (uint64_t) x24 * x2)))))))))) + 0x9 * ((uint64_t) x26 * x27 + ((uint64_t) x28 * x28 + (uint64_t) x27 * x26));
- uint64_t x33 = (uint64_t) x2 * x22 + ((uint64_t) x4 * x20 + ((uint64_t) x6 * x18 + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + ((uint64_t) x18 * x6 + ((uint64_t) x20 * x4 + (uint64_t) x22 * x2))))))))) + 0x9 * ((uint64_t) x24 * x27 + ((uint64_t) x26 * x28 + ((uint64_t) x28 * x26 + (uint64_t) x27 * x24)));
- uint64_t x34 = (uint64_t) x2 * x20 + ((uint64_t) x4 * x18 + ((uint64_t) x6 * x16 + ((uint64_t) x8 * x14 + ((uint64_t) x10 * x12 + ((uint64_t) x12 * x10 + ((uint64_t) x14 * x8 + ((uint64_t) x16 * x6 + ((uint64_t) x18 * x4 + (uint64_t) x20 * x2)))))))) + 0x9 * ((uint64_t) x22 * x27 + ((uint64_t) x24 * x28 + ((uint64_t) x26 * x26 + ((uint64_t) x28 * x24 + (uint64_t) x27 * x22))));
- uint64_t x35 = (uint64_t) x2 * x18 + ((uint64_t) x4 * x16 + ((uint64_t) x6 * x14 + ((uint64_t) x8 * x12 + ((uint64_t) x10 * x10 + ((uint64_t) x12 * x8 + ((uint64_t) x14 * x6 + ((uint64_t) x16 * x4 + (uint64_t) x18 * x2))))))) + 0x9 * ((uint64_t) x20 * x27 + ((uint64_t) x22 * x28 + ((uint64_t) x24 * x26 + ((uint64_t) x26 * x24 + ((uint64_t) x28 * x22 + (uint64_t) x27 * x20)))));
- uint64_t x36 = (uint64_t) x2 * x16 + ((uint64_t) x4 * x14 + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + ((uint64_t) x14 * x4 + (uint64_t) x16 * x2)))))) + 0x9 * ((uint64_t) x18 * x27 + ((uint64_t) x20 * x28 + ((uint64_t) x22 * x26 + ((uint64_t) x24 * x24 + ((uint64_t) x26 * x22 + ((uint64_t) x28 * x20 + (uint64_t) x27 * x18))))));
- uint64_t x37 = (uint64_t) x2 * x14 + ((uint64_t) x4 * x12 + ((uint64_t) x6 * x10 + ((uint64_t) x8 * x8 + ((uint64_t) x10 * x6 + ((uint64_t) x12 * x4 + (uint64_t) x14 * x2))))) + 0x9 * ((uint64_t) x16 * x27 + ((uint64_t) x18 * x28 + ((uint64_t) x20 * x26 + ((uint64_t) x22 * x24 + ((uint64_t) x24 * x22 + ((uint64_t) x26 * x20 + ((uint64_t) x28 * x18 + (uint64_t) x27 * x16)))))));
- uint64_t x38 = (uint64_t) x2 * x12 + ((uint64_t) x4 * x10 + ((uint64_t) x6 * x8 + ((uint64_t) x8 * x6 + ((uint64_t) x10 * x4 + (uint64_t) x12 * x2)))) + 0x9 * ((uint64_t) x14 * x27 + ((uint64_t) x16 * x28 + ((uint64_t) x18 * x26 + ((uint64_t) x20 * x24 + ((uint64_t) x22 * x22 + ((uint64_t) x24 * x20 + ((uint64_t) x26 * x18 + ((uint64_t) x28 * x16 + (uint64_t) x27 * x14))))))));
- uint64_t x39 = (uint64_t) x2 * x10 + ((uint64_t) x4 * x8 + ((uint64_t) x6 * x6 + ((uint64_t) x8 * x4 + (uint64_t) x10 * x2))) + 0x9 * ((uint64_t) x12 * x27 + ((uint64_t) x14 * x28 + ((uint64_t) x16 * x26 + ((uint64_t) x18 * x24 + ((uint64_t) x20 * x22 + ((uint64_t) x22 * x20 + ((uint64_t) x24 * x18 + ((uint64_t) x26 * x16 + ((uint64_t) x28 * x14 + (uint64_t) x27 * x12)))))))));
- uint64_t x40 = (uint64_t) x2 * x8 + ((uint64_t) x4 * x6 + ((uint64_t) x6 * x4 + (uint64_t) x8 * x2)) + 0x9 * ((uint64_t) x10 * x27 + ((uint64_t) x12 * x28 + ((uint64_t) x14 * x26 + ((uint64_t) x16 * x24 + ((uint64_t) x18 * x22 + ((uint64_t) x20 * x20 + ((uint64_t) x22 * x18 + ((uint64_t) x24 * x16 + ((uint64_t) x26 * x14 + ((uint64_t) x28 * x12 + (uint64_t) x27 * x10))))))))));
- uint64_t x41 = (uint64_t) x2 * x6 + ((uint64_t) x4 * x4 + (uint64_t) x6 * x2) + 0x9 * ((uint64_t) x8 * x27 + ((uint64_t) x10 * x28 + ((uint64_t) x12 * x26 + ((uint64_t) x14 * x24 + ((uint64_t) x16 * x22 + ((uint64_t) x18 * x20 + ((uint64_t) x20 * x18 + ((uint64_t) x22 * x16 + ((uint64_t) x24 * x14 + ((uint64_t) x26 * x12 + ((uint64_t) x28 * x10 + (uint64_t) x27 * x8)))))))))));
- uint64_t x42 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x9 * ((uint64_t) x6 * x27 + ((uint64_t) x8 * x28 + ((uint64_t) x10 * x26 + ((uint64_t) x12 * x24 + ((uint64_t) x14 * x22 + ((uint64_t) x16 * x20 + ((uint64_t) x18 * x18 + ((uint64_t) x20 * x16 + ((uint64_t) x22 * x14 + ((uint64_t) x24 * x12 + ((uint64_t) x26 * x10 + ((uint64_t) x28 * x8 + (uint64_t) x27 * x6))))))))))));
- uint64_t x43 = (uint64_t) x2 * x2 + 0x9 * ((uint64_t) x4 * x27 + ((uint64_t) x6 * x28 + ((uint64_t) x8 * x26 + ((uint64_t) x10 * x24 + ((uint64_t) x12 * x22 + ((uint64_t) x14 * x20 + ((uint64_t) x16 * x18 + ((uint64_t) x18 * x16 + ((uint64_t) x20 * x14 + ((uint64_t) x22 * x12 + ((uint64_t) x24 * x10 + ((uint64_t) x26 * x8 + ((uint64_t) x28 * x6 + (uint64_t) x27 * x4)))))))))))));
+ uint64_t x29 = (((uint64_t)x2 * x27) + (((uint64_t)x4 * x28) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + (((uint64_t)x28 * x4) + ((uint64_t)x27 * x2)))))))))))))));
+ uint64_t x30 = ((((uint64_t)x2 * x28) + (((uint64_t)x4 * x26) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x28 * x2)))))))))))))) + (0x9 * ((uint64_t)x27 * x27)));
+ uint64_t x31 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x9 * (((uint64_t)x28 * x27) + ((uint64_t)x27 * x28))));
+ uint64_t x32 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x9 * (((uint64_t)x26 * x27) + (((uint64_t)x28 * x28) + ((uint64_t)x27 * x26)))));
+ uint64_t x33 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x9 * (((uint64_t)x24 * x27) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + ((uint64_t)x27 * x24))))));
+ uint64_t x34 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x9 * (((uint64_t)x22 * x27) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + ((uint64_t)x27 * x22)))))));
+ uint64_t x35 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x9 * (((uint64_t)x20 * x27) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + ((uint64_t)x27 * x20))))))));
+ uint64_t x36 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x9 * (((uint64_t)x18 * x27) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + ((uint64_t)x27 * x18)))))))));
+ uint64_t x37 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x9 * (((uint64_t)x16 * x27) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + ((uint64_t)x27 * x16))))))))));
+ uint64_t x38 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x9 * (((uint64_t)x14 * x27) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + ((uint64_t)x27 * x14)))))))))));
+ uint64_t x39 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x9 * (((uint64_t)x12 * x27) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + ((uint64_t)x27 * x12))))))))))));
+ uint64_t x40 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x27) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + ((uint64_t)x27 * x10)))))))))))));
+ uint64_t x41 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x9 * (((uint64_t)x8 * x27) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + ((uint64_t)x27 * x8))))))))))))));
+ uint64_t x42 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * (((uint64_t)x6 * x27) + (((uint64_t)x8 * x28) + (((uint64_t)x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + (((uint64_t)x26 * x10) + (((uint64_t)x28 * x8) + ((uint64_t)x27 * x6)))))))))))))));
+ uint64_t x43 = (((uint64_t)x2 * x2) + (0x9 * (((uint64_t)x4 * x27) + (((uint64_t)x6 * x28) + (((uint64_t)x8 * x26) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + (((uint64_t)x26 * x8) + (((uint64_t)x28 * x6) + ((uint64_t)x27 * x4))))))))))))))));
uint32_t x44 = (uint32_t) (x43 >> 0x13);
- uint32_t x45 = (uint32_t) x43 & 0x7ffff;
- uint64_t x46 = x44 + x42;
+ uint32_t x45 = ((uint32_t)x43 & 0x7ffff);
+ uint64_t x46 = (x44 + x42);
uint32_t x47 = (uint32_t) (x46 >> 0x13);
- uint32_t x48 = (uint32_t) x46 & 0x7ffff;
- uint64_t x49 = x47 + x41;
+ uint32_t x48 = ((uint32_t)x46 & 0x7ffff);
+ uint64_t x49 = (x47 + x41);
uint32_t x50 = (uint32_t) (x49 >> 0x13);
- uint32_t x51 = (uint32_t) x49 & 0x7ffff;
- uint64_t x52 = x50 + x40;
+ uint32_t x51 = ((uint32_t)x49 & 0x7ffff);
+ uint64_t x52 = (x50 + x40);
uint32_t x53 = (uint32_t) (x52 >> 0x13);
- uint32_t x54 = (uint32_t) x52 & 0x7ffff;
- uint64_t x55 = x53 + x39;
+ uint32_t x54 = ((uint32_t)x52 & 0x7ffff);
+ uint64_t x55 = (x53 + x39);
uint32_t x56 = (uint32_t) (x55 >> 0x13);
- uint32_t x57 = (uint32_t) x55 & 0x7ffff;
- uint64_t x58 = x56 + x38;
+ uint32_t x57 = ((uint32_t)x55 & 0x7ffff);
+ uint64_t x58 = (x56 + x38);
uint32_t x59 = (uint32_t) (x58 >> 0x13);
- uint32_t x60 = (uint32_t) x58 & 0x7ffff;
- uint64_t x61 = x59 + x37;
+ uint32_t x60 = ((uint32_t)x58 & 0x7ffff);
+ uint64_t x61 = (x59 + x37);
uint32_t x62 = (uint32_t) (x61 >> 0x13);
- uint32_t x63 = (uint32_t) x61 & 0x7ffff;
- uint64_t x64 = x62 + x36;
+ uint32_t x63 = ((uint32_t)x61 & 0x7ffff);
+ uint64_t x64 = (x62 + x36);
uint32_t x65 = (uint32_t) (x64 >> 0x13);
- uint32_t x66 = (uint32_t) x64 & 0x7ffff;
- uint64_t x67 = x65 + x35;
+ uint32_t x66 = ((uint32_t)x64 & 0x7ffff);
+ uint64_t x67 = (x65 + x35);
uint32_t x68 = (uint32_t) (x67 >> 0x13);
- uint32_t x69 = (uint32_t) x67 & 0x7ffff;
- uint64_t x70 = x68 + x34;
+ uint32_t x69 = ((uint32_t)x67 & 0x7ffff);
+ uint64_t x70 = (x68 + x34);
uint32_t x71 = (uint32_t) (x70 >> 0x13);
- uint32_t x72 = (uint32_t) x70 & 0x7ffff;
- uint64_t x73 = x71 + x33;
+ uint32_t x72 = ((uint32_t)x70 & 0x7ffff);
+ uint64_t x73 = (x71 + x33);
uint32_t x74 = (uint32_t) (x73 >> 0x13);
- uint32_t x75 = (uint32_t) x73 & 0x7ffff;
- uint64_t x76 = x74 + x32;
+ uint32_t x75 = ((uint32_t)x73 & 0x7ffff);
+ uint64_t x76 = (x74 + x32);
uint32_t x77 = (uint32_t) (x76 >> 0x13);
- uint32_t x78 = (uint32_t) x76 & 0x7ffff;
- uint64_t x79 = x77 + x31;
+ uint32_t x78 = ((uint32_t)x76 & 0x7ffff);
+ uint64_t x79 = (x77 + x31);
uint32_t x80 = (uint32_t) (x79 >> 0x13);
- uint32_t x81 = (uint32_t) x79 & 0x7ffff;
- uint64_t x82 = x80 + x30;
+ uint32_t x81 = ((uint32_t)x79 & 0x7ffff);
+ uint64_t x82 = (x80 + x30);
uint32_t x83 = (uint32_t) (x82 >> 0x13);
- uint32_t x84 = (uint32_t) x82 & 0x7ffff;
- uint64_t x85 = x83 + x29;
+ uint32_t x84 = ((uint32_t)x82 & 0x7ffff);
+ uint64_t x85 = (x83 + x29);
uint32_t x86 = (uint32_t) (x85 >> 0x13);
- uint32_t x87 = (uint32_t) x85 & 0x7ffff;
- uint32_t x88 = x45 + 0x9 * x86;
- uint32_t x89 = x88 >> 0x13;
- uint32_t x90 = x88 & 0x7ffff;
- uint32_t x91 = x89 + x48;
- uint32_t x92 = x91 >> 0x13;
- uint32_t x93 = x91 & 0x7ffff;
- return (Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, x92 + x51, Return x93, Return x90))
+ uint32_t x87 = ((uint32_t)x85 & 0x7ffff);
+ uint32_t x88 = (x45 + (0x9 * x86));
+ uint32_t x89 = (x88 >> 0x13);
+ uint32_t x90 = (x88 & 0x7ffff);
+ uint32_t x91 = (x89 + x48);
+ uint32_t x92 = (x91 >> 0x13);
+ uint32_t x93 = (x91 & 0x7ffff);
+ return (Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, (x92 + x51), Return x93, Return x90))
x
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e285m9/freezeDisplay.log b/src/Specific/solinas32_2e285m9/freezeDisplay.log
index 9b7dc0092..c53807174 100644
--- a/src/Specific/solinas32_2e285m9/freezeDisplay.log
+++ b/src/Specific/solinas32_2e285m9/freezeDisplay.log
@@ -18,35 +18,35 @@ Interp-η
uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x28, 0x7ffff);
uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x27, 0x7ffff);
uint32_t x74 = (uint32_t)cmovznz(x73, 0x0, 0xffffffff);
- uint32_t x75 = x74 & 0x7fff7;
+ uint32_t x75 = (x74 & 0x7fff7);
uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x30, Return x75);
- uint32_t x79 = x74 & 0x7ffff;
+ uint32_t x79 = (x74 & 0x7ffff);
uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x33, Return x79);
- uint32_t x83 = x74 & 0x7ffff;
+ uint32_t x83 = (x74 & 0x7ffff);
uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x36, Return x83);
- uint32_t x87 = x74 & 0x7ffff;
+ uint32_t x87 = (x74 & 0x7ffff);
uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x39, Return x87);
- uint32_t x91 = x74 & 0x7ffff;
+ uint32_t x91 = (x74 & 0x7ffff);
uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x42, Return x91);
- uint32_t x95 = x74 & 0x7ffff;
+ uint32_t x95 = (x74 & 0x7ffff);
uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x45, Return x95);
- uint32_t x99 = x74 & 0x7ffff;
+ uint32_t x99 = (x74 & 0x7ffff);
uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x48, Return x99);
- uint32_t x103 = x74 & 0x7ffff;
+ uint32_t x103 = (x74 & 0x7ffff);
uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x51, Return x103);
- uint32_t x107 = x74 & 0x7ffff;
+ uint32_t x107 = (x74 & 0x7ffff);
uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x54, Return x107);
- uint32_t x111 = x74 & 0x7ffff;
+ uint32_t x111 = (x74 & 0x7ffff);
uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x57, Return x111);
- uint32_t x115 = x74 & 0x7ffff;
+ uint32_t x115 = (x74 & 0x7ffff);
uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x60, Return x115);
- uint32_t x119 = x74 & 0x7ffff;
+ uint32_t x119 = (x74 & 0x7ffff);
uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x63, Return x119);
- uint32_t x123 = x74 & 0x7ffff;
+ uint32_t x123 = (x74 & 0x7ffff);
uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x66, Return x123);
- uint32_t x127 = x74 & 0x7ffff;
+ uint32_t x127 = (x74 & 0x7ffff);
uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x69, Return x127);
- uint32_t x131 = x74 & 0x7ffff;
+ uint32_t x131 = (x74 & 0x7ffff);
uint32_t x133, uint8_t _ = Op (Syntax.AddWithGetCarry 19 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x72, Return x131);
(Return x133, Return x129, Return x125, Return x121, Return x117, Return x113, Return x109, Return x105, Return x101, Return x97, Return x93, Return x89, Return x85, Return x81, Return x77))
x
diff --git a/src/Specific/solinas32_2e291m19/femulDisplay.log b/src/Specific/solinas32_2e291m19/femulDisplay.log
index 6b1ba2370..1d9c944d5 100644
--- a/src/Specific/solinas32_2e291m19/femulDisplay.log
+++ b/src/Specific/solinas32_2e291m19/femulDisplay.log
@@ -2,59 +2,59 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
- uint64_t x48 = (uint64_t) x5 * x46 + (0x2 * ((uint64_t) x7 * x47) + (0x2 * ((uint64_t) x9 * x45) + ((uint64_t) x11 * x43 + ((uint64_t) x13 * x41 + (0x2 * ((uint64_t) x15 * x39) + (0x2 * ((uint64_t) x17 * x37) + ((uint64_t) x19 * x35 + ((uint64_t) x21 * x33 + (0x2 * ((uint64_t) x23 * x31) + (0x2 * ((uint64_t) x25 * x29) + (uint64_t) x24 * x27))))))))));
- uint64_t x49 = (uint64_t) x5 * x47 + (0x2 * ((uint64_t) x7 * x45) + ((uint64_t) x9 * x43 + ((uint64_t) x11 * x41 + ((uint64_t) x13 * x39 + (0x2 * ((uint64_t) x15 * x37) + ((uint64_t) x17 * x35 + ((uint64_t) x19 * x33 + ((uint64_t) x21 * x31 + (0x2 * ((uint64_t) x23 * x29) + (uint64_t) x25 * x27))))))))) + 0x13 * ((uint64_t) x24 * x46);
- uint64_t x50 = (uint64_t) x5 * x45 + ((uint64_t) x7 * x43 + ((uint64_t) x9 * x41 + ((uint64_t) x11 * x39 + ((uint64_t) x13 * x37 + ((uint64_t) x15 * x35 + ((uint64_t) x17 * x33 + ((uint64_t) x19 * x31 + ((uint64_t) x21 * x29 + (uint64_t) x23 * x27)))))))) + 0x13 * ((uint64_t) x25 * x46 + (uint64_t) x24 * x47);
- uint64_t x51 = (uint64_t) x5 * x43 + (0x2 * ((uint64_t) x7 * x41) + (0x2 * ((uint64_t) x9 * x39) + (0x2 * ((uint64_t) x11 * x37) + ((uint64_t) x13 * x35 + (0x2 * ((uint64_t) x15 * x33) + (0x2 * ((uint64_t) x17 * x31) + (0x2 * ((uint64_t) x19 * x29) + (uint64_t) x21 * x27))))))) + 0x13 * (0x2 * ((uint64_t) x23 * x46) + (0x2 * ((uint64_t) x25 * x47) + 0x2 * ((uint64_t) x24 * x45)));
- uint64_t x52 = (uint64_t) x5 * x41 + (0x2 * ((uint64_t) x7 * x39) + (0x2 * ((uint64_t) x9 * x37) + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + (0x2 * ((uint64_t) x15 * x31) + (0x2 * ((uint64_t) x17 * x29) + (uint64_t) x19 * x27)))))) + 0x13 * ((uint64_t) x21 * x46 + (0x2 * ((uint64_t) x23 * x47) + (0x2 * ((uint64_t) x25 * x45) + (uint64_t) x24 * x43)));
- uint64_t x53 = (uint64_t) x5 * x39 + (0x2 * ((uint64_t) x7 * x37) + ((uint64_t) x9 * x35 + ((uint64_t) x11 * x33 + ((uint64_t) x13 * x31 + (0x2 * ((uint64_t) x15 * x29) + (uint64_t) x17 * x27))))) + 0x13 * ((uint64_t) x19 * x46 + ((uint64_t) x21 * x47 + (0x2 * ((uint64_t) x23 * x45) + ((uint64_t) x25 * x43 + (uint64_t) x24 * x41))));
- uint64_t x54 = (uint64_t) x5 * x37 + ((uint64_t) x7 * x35 + ((uint64_t) x9 * x33 + ((uint64_t) x11 * x31 + ((uint64_t) x13 * x29 + (uint64_t) x15 * x27)))) + 0x13 * ((uint64_t) x17 * x46 + ((uint64_t) x19 * x47 + ((uint64_t) x21 * x45 + ((uint64_t) x23 * x43 + ((uint64_t) x25 * x41 + (uint64_t) x24 * x39)))));
- uint64_t x55 = (uint64_t) x5 * x35 + (0x2 * ((uint64_t) x7 * x33) + (0x2 * ((uint64_t) x9 * x31) + (0x2 * ((uint64_t) x11 * x29) + (uint64_t) x13 * x27))) + 0x13 * (0x2 * ((uint64_t) x15 * x46) + (0x2 * ((uint64_t) x17 * x47) + (0x2 * ((uint64_t) x19 * x45) + ((uint64_t) x21 * x43 + (0x2 * ((uint64_t) x23 * x41) + (0x2 * ((uint64_t) x25 * x39) + 0x2 * ((uint64_t) x24 * x37)))))));
- uint64_t x56 = (uint64_t) x5 * x33 + (0x2 * ((uint64_t) x7 * x31) + (0x2 * ((uint64_t) x9 * x29) + (uint64_t) x11 * x27)) + 0x13 * ((uint64_t) x13 * x46 + (0x2 * ((uint64_t) x15 * x47) + (0x2 * ((uint64_t) x17 * x45) + ((uint64_t) x19 * x43 + ((uint64_t) x21 * x41 + (0x2 * ((uint64_t) x23 * x39) + (0x2 * ((uint64_t) x25 * x37) + (uint64_t) x24 * x35)))))));
- uint64_t x57 = (uint64_t) x5 * x31 + (0x2 * ((uint64_t) x7 * x29) + (uint64_t) x9 * x27) + 0x13 * ((uint64_t) x11 * x46 + ((uint64_t) x13 * x47 + (0x2 * ((uint64_t) x15 * x45) + ((uint64_t) x17 * x43 + ((uint64_t) x19 * x41 + ((uint64_t) x21 * x39 + (0x2 * ((uint64_t) x23 * x37) + ((uint64_t) x25 * x35 + (uint64_t) x24 * x33))))))));
- uint64_t x58 = (uint64_t) x5 * x29 + (uint64_t) x7 * x27 + 0x13 * ((uint64_t) x9 * x46 + ((uint64_t) x11 * x47 + ((uint64_t) x13 * x45 + ((uint64_t) x15 * x43 + ((uint64_t) x17 * x41 + ((uint64_t) x19 * x39 + ((uint64_t) x21 * x37 + ((uint64_t) x23 * x35 + ((uint64_t) x25 * x33 + (uint64_t) x24 * x31)))))))));
- uint64_t x59 = (uint64_t) x5 * x27 + 0x13 * (0x2 * ((uint64_t) x7 * x46) + (0x2 * ((uint64_t) x9 * x47) + (0x2 * ((uint64_t) x11 * x45) + ((uint64_t) x13 * x43 + (0x2 * ((uint64_t) x15 * x41) + (0x2 * ((uint64_t) x17 * x39) + (0x2 * ((uint64_t) x19 * x37) + ((uint64_t) x21 * x35 + (0x2 * ((uint64_t) x23 * x33) + (0x2 * ((uint64_t) x25 * x31) + 0x2 * ((uint64_t) x24 * x29)))))))))));
- uint64_t x60 = x59 >> 0x19;
- uint32_t x61 = (uint32_t) x59 & 0x1ffffff;
- uint64_t x62 = x60 + x58;
- uint64_t x63 = x62 >> 0x18;
- uint32_t x64 = (uint32_t) x62 & 0xffffff;
- uint64_t x65 = x63 + x57;
- uint64_t x66 = x65 >> 0x18;
- uint32_t x67 = (uint32_t) x65 & 0xffffff;
- uint64_t x68 = x66 + x56;
- uint64_t x69 = x68 >> 0x18;
- uint32_t x70 = (uint32_t) x68 & 0xffffff;
- uint64_t x71 = x69 + x55;
- uint32_t x72 = (uint32_t) (x71 >> 0x19);
- uint32_t x73 = (uint32_t) x71 & 0x1ffffff;
- uint64_t x74 = x72 + x54;
- uint32_t x75 = (uint32_t) (x74 >> 0x18);
- uint32_t x76 = (uint32_t) x74 & 0xffffff;
- uint64_t x77 = x75 + x53;
- uint32_t x78 = (uint32_t) (x77 >> 0x18);
- uint32_t x79 = (uint32_t) x77 & 0xffffff;
- uint64_t x80 = x78 + x52;
- uint32_t x81 = (uint32_t) (x80 >> 0x18);
- uint32_t x82 = (uint32_t) x80 & 0xffffff;
- uint64_t x83 = x81 + x51;
- uint32_t x84 = (uint32_t) (x83 >> 0x19);
- uint32_t x85 = (uint32_t) x83 & 0x1ffffff;
- uint64_t x86 = x84 + x50;
- uint32_t x87 = (uint32_t) (x86 >> 0x18);
- uint32_t x88 = (uint32_t) x86 & 0xffffff;
- uint64_t x89 = x87 + x49;
- uint32_t x90 = (uint32_t) (x89 >> 0x18);
- uint32_t x91 = (uint32_t) x89 & 0xffffff;
- uint64_t x92 = x90 + x48;
- uint32_t x93 = (uint32_t) (x92 >> 0x18);
- uint32_t x94 = (uint32_t) x92 & 0xffffff;
- uint64_t x95 = x61 + (uint64_t) 0x13 * x93;
+ uint64_t x48 = (((uint64_t)x5 * x46) + ((0x2 * ((uint64_t)x7 * x47)) + ((0x2 * ((uint64_t)x9 * x45)) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + ((0x2 * ((uint64_t)x15 * x39)) + ((0x2 * ((uint64_t)x17 * x37)) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((0x2 * ((uint64_t)x23 * x31)) + ((0x2 * ((uint64_t)x25 * x29)) + ((uint64_t)x24 * x27))))))))))));
+ uint64_t x49 = ((((uint64_t)x5 * x47) + ((0x2 * ((uint64_t)x7 * x45)) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + ((0x2 * ((uint64_t)x15 * x37)) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((0x2 * ((uint64_t)x23 * x29)) + ((uint64_t)x25 * x27))))))))))) + (0x13 * ((uint64_t)x24 * x46)));
+ uint64_t x50 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x23 * x27)))))))))) + (0x13 * (((uint64_t)x25 * x46) + ((uint64_t)x24 * x47))));
+ uint64_t x51 = ((((uint64_t)x5 * x43) + ((0x2 * ((uint64_t)x7 * x41)) + ((0x2 * ((uint64_t)x9 * x39)) + ((0x2 * ((uint64_t)x11 * x37)) + (((uint64_t)x13 * x35) + ((0x2 * ((uint64_t)x15 * x33)) + ((0x2 * ((uint64_t)x17 * x31)) + ((0x2 * ((uint64_t)x19 * x29)) + ((uint64_t)x21 * x27))))))))) + (0x13 * ((0x2 * ((uint64_t)x23 * x46)) + ((0x2 * ((uint64_t)x25 * x47)) + (0x2 * ((uint64_t)x24 * x45))))));
+ uint64_t x52 = ((((uint64_t)x5 * x41) + ((0x2 * ((uint64_t)x7 * x39)) + ((0x2 * ((uint64_t)x9 * x37)) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((0x2 * ((uint64_t)x15 * x31)) + ((0x2 * ((uint64_t)x17 * x29)) + ((uint64_t)x19 * x27)))))))) + (0x13 * (((uint64_t)x21 * x46) + ((0x2 * ((uint64_t)x23 * x47)) + ((0x2 * ((uint64_t)x25 * x45)) + ((uint64_t)x24 * x43))))));
+ uint64_t x53 = ((((uint64_t)x5 * x39) + ((0x2 * ((uint64_t)x7 * x37)) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((0x2 * ((uint64_t)x15 * x29)) + ((uint64_t)x17 * x27))))))) + (0x13 * (((uint64_t)x19 * x46) + (((uint64_t)x21 * x47) + ((0x2 * ((uint64_t)x23 * x45)) + (((uint64_t)x25 * x43) + ((uint64_t)x24 * x41)))))));
+ uint64_t x54 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) + (0x13 * (((uint64_t)x17 * x46) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x24 * x39))))))));
+ uint64_t x55 = ((((uint64_t)x5 * x35) + ((0x2 * ((uint64_t)x7 * x33)) + ((0x2 * ((uint64_t)x9 * x31)) + ((0x2 * ((uint64_t)x11 * x29)) + ((uint64_t)x13 * x27))))) + (0x13 * ((0x2 * ((uint64_t)x15 * x46)) + ((0x2 * ((uint64_t)x17 * x47)) + ((0x2 * ((uint64_t)x19 * x45)) + (((uint64_t)x21 * x43) + ((0x2 * ((uint64_t)x23 * x41)) + ((0x2 * ((uint64_t)x25 * x39)) + (0x2 * ((uint64_t)x24 * x37))))))))));
+ uint64_t x56 = ((((uint64_t)x5 * x33) + ((0x2 * ((uint64_t)x7 * x31)) + ((0x2 * ((uint64_t)x9 * x29)) + ((uint64_t)x11 * x27)))) + (0x13 * (((uint64_t)x13 * x46) + ((0x2 * ((uint64_t)x15 * x47)) + ((0x2 * ((uint64_t)x17 * x45)) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + ((0x2 * ((uint64_t)x23 * x39)) + ((0x2 * ((uint64_t)x25 * x37)) + ((uint64_t)x24 * x35))))))))));
+ uint64_t x57 = ((((uint64_t)x5 * x31) + ((0x2 * ((uint64_t)x7 * x29)) + ((uint64_t)x9 * x27))) + (0x13 * (((uint64_t)x11 * x46) + (((uint64_t)x13 * x47) + ((0x2 * ((uint64_t)x15 * x45)) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + ((0x2 * ((uint64_t)x23 * x37)) + (((uint64_t)x25 * x35) + ((uint64_t)x24 * x33)))))))))));
+ uint64_t x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) + (0x13 * (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))));
+ uint64_t x59 = (((uint64_t)x5 * x27) + (0x13 * ((0x2 * ((uint64_t)x7 * x46)) + ((0x2 * ((uint64_t)x9 * x47)) + ((0x2 * ((uint64_t)x11 * x45)) + (((uint64_t)x13 * x43) + ((0x2 * ((uint64_t)x15 * x41)) + ((0x2 * ((uint64_t)x17 * x39)) + ((0x2 * ((uint64_t)x19 * x37)) + (((uint64_t)x21 * x35) + ((0x2 * ((uint64_t)x23 * x33)) + ((0x2 * ((uint64_t)x25 * x31)) + (0x2 * ((uint64_t)x24 * x29))))))))))))));
+ uint64_t x60 = (x59 >> 0x19);
+ uint32_t x61 = ((uint32_t)x59 & 0x1ffffff);
+ uint64_t x62 = (x60 + x58);
+ uint64_t x63 = (x62 >> 0x18);
+ uint32_t x64 = ((uint32_t)x62 & 0xffffff);
+ uint64_t x65 = (x63 + x57);
+ uint64_t x66 = (x65 >> 0x18);
+ uint32_t x67 = ((uint32_t)x65 & 0xffffff);
+ uint64_t x68 = (x66 + x56);
+ uint64_t x69 = (x68 >> 0x18);
+ uint32_t x70 = ((uint32_t)x68 & 0xffffff);
+ uint64_t x71 = (x69 + x55);
+ uint64_t x72 = (x71 >> 0x19);
+ uint32_t x73 = ((uint32_t)x71 & 0x1ffffff);
+ uint64_t x74 = (x72 + x54);
+ uint64_t x75 = (x74 >> 0x18);
+ uint32_t x76 = ((uint32_t)x74 & 0xffffff);
+ uint64_t x77 = (x75 + x53);
+ uint64_t x78 = (x77 >> 0x18);
+ uint32_t x79 = ((uint32_t)x77 & 0xffffff);
+ uint64_t x80 = (x78 + x52);
+ uint64_t x81 = (x80 >> 0x18);
+ uint32_t x82 = ((uint32_t)x80 & 0xffffff);
+ uint64_t x83 = (x81 + x51);
+ uint64_t x84 = (x83 >> 0x19);
+ uint32_t x85 = ((uint32_t)x83 & 0x1ffffff);
+ uint64_t x86 = (x84 + x50);
+ uint64_t x87 = (x86 >> 0x18);
+ uint32_t x88 = ((uint32_t)x86 & 0xffffff);
+ uint64_t x89 = (x87 + x49);
+ uint64_t x90 = (x89 >> 0x18);
+ uint32_t x91 = ((uint32_t)x89 & 0xffffff);
+ uint64_t x92 = (x90 + x48);
+ uint64_t x93 = (x92 >> 0x18);
+ uint32_t x94 = ((uint32_t)x92 & 0xffffff);
+ uint64_t x95 = (x61 + (0x13 * x93));
uint32_t x96 = (uint32_t) (x95 >> 0x19);
- uint32_t x97 = (uint32_t) x95 & 0x1ffffff;
- uint32_t x98 = x96 + x64;
- uint32_t x99 = x98 >> 0x18;
- uint32_t x100 = x98 & 0xffffff;
- return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, x99 + x67, Return x100, Return x97))
+ uint32_t x97 = ((uint32_t)x95 & 0x1ffffff);
+ uint32_t x98 = (x96 + x64);
+ uint32_t x99 = (x98 >> 0x18);
+ uint32_t x100 = (x98 & 0xffffff);
+ return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, (x99 + x67), Return x100, Return x97))
(x, x0)%core
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e291m19/fesquareDisplay.log b/src/Specific/solinas32_2e291m19/fesquareDisplay.log
index d8596f278..4f44c4241 100644
--- a/src/Specific/solinas32_2e291m19/fesquareDisplay.log
+++ b/src/Specific/solinas32_2e291m19/fesquareDisplay.log
@@ -2,59 +2,59 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x23 = (uint64_t) x2 * x21 + (0x2 * ((uint64_t) x4 * x22) + (0x2 * ((uint64_t) x6 * x20) + ((uint64_t) x8 * x18 + ((uint64_t) x10 * x16 + (0x2 * ((uint64_t) x12 * x14) + (0x2 * ((uint64_t) x14 * x12) + ((uint64_t) x16 * x10 + ((uint64_t) x18 * x8 + (0x2 * ((uint64_t) x20 * x6) + (0x2 * ((uint64_t) x22 * x4) + (uint64_t) x21 * x2))))))))));
- uint64_t x24 = (uint64_t) x2 * x22 + (0x2 * ((uint64_t) x4 * x20) + ((uint64_t) x6 * x18 + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + (0x2 * ((uint64_t) x12 * x12) + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + ((uint64_t) x18 * x6 + (0x2 * ((uint64_t) x20 * x4) + (uint64_t) x22 * x2))))))))) + 0x13 * ((uint64_t) x21 * x21);
- uint64_t x25 = (uint64_t) x2 * x20 + ((uint64_t) x4 * x18 + ((uint64_t) x6 * x16 + ((uint64_t) x8 * x14 + ((uint64_t) x10 * x12 + ((uint64_t) x12 * x10 + ((uint64_t) x14 * x8 + ((uint64_t) x16 * x6 + ((uint64_t) x18 * x4 + (uint64_t) x20 * x2)))))))) + 0x13 * ((uint64_t) x22 * x21 + (uint64_t) x21 * x22);
- uint64_t x26 = (uint64_t) x2 * x18 + (0x2 * ((uint64_t) x4 * x16) + (0x2 * ((uint64_t) x6 * x14) + (0x2 * ((uint64_t) x8 * x12) + ((uint64_t) x10 * x10 + (0x2 * ((uint64_t) x12 * x8) + (0x2 * ((uint64_t) x14 * x6) + (0x2 * ((uint64_t) x16 * x4) + (uint64_t) x18 * x2))))))) + 0x13 * (0x2 * ((uint64_t) x20 * x21) + (0x2 * ((uint64_t) x22 * x22) + 0x2 * ((uint64_t) x21 * x20)));
- uint64_t x27 = (uint64_t) x2 * x16 + (0x2 * ((uint64_t) x4 * x14) + (0x2 * ((uint64_t) x6 * x12) + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + (0x2 * ((uint64_t) x12 * x6) + (0x2 * ((uint64_t) x14 * x4) + (uint64_t) x16 * x2)))))) + 0x13 * ((uint64_t) x18 * x21 + (0x2 * ((uint64_t) x20 * x22) + (0x2 * ((uint64_t) x22 * x20) + (uint64_t) x21 * x18)));
- uint64_t x28 = (uint64_t) x2 * x14 + (0x2 * ((uint64_t) x4 * x12) + ((uint64_t) x6 * x10 + ((uint64_t) x8 * x8 + ((uint64_t) x10 * x6 + (0x2 * ((uint64_t) x12 * x4) + (uint64_t) x14 * x2))))) + 0x13 * ((uint64_t) x16 * x21 + ((uint64_t) x18 * x22 + (0x2 * ((uint64_t) x20 * x20) + ((uint64_t) x22 * x18 + (uint64_t) x21 * x16))));
- uint64_t x29 = (uint64_t) x2 * x12 + ((uint64_t) x4 * x10 + ((uint64_t) x6 * x8 + ((uint64_t) x8 * x6 + ((uint64_t) x10 * x4 + (uint64_t) x12 * x2)))) + 0x13 * ((uint64_t) x14 * x21 + ((uint64_t) x16 * x22 + ((uint64_t) x18 * x20 + ((uint64_t) x20 * x18 + ((uint64_t) x22 * x16 + (uint64_t) x21 * x14)))));
- uint64_t x30 = (uint64_t) x2 * x10 + (0x2 * ((uint64_t) x4 * x8) + (0x2 * ((uint64_t) x6 * x6) + (0x2 * ((uint64_t) x8 * x4) + (uint64_t) x10 * x2))) + 0x13 * (0x2 * ((uint64_t) x12 * x21) + (0x2 * ((uint64_t) x14 * x22) + (0x2 * ((uint64_t) x16 * x20) + ((uint64_t) x18 * x18 + (0x2 * ((uint64_t) x20 * x16) + (0x2 * ((uint64_t) x22 * x14) + 0x2 * ((uint64_t) x21 * x12)))))));
- uint64_t x31 = (uint64_t) x2 * x8 + (0x2 * ((uint64_t) x4 * x6) + (0x2 * ((uint64_t) x6 * x4) + (uint64_t) x8 * x2)) + 0x13 * ((uint64_t) x10 * x21 + (0x2 * ((uint64_t) x12 * x22) + (0x2 * ((uint64_t) x14 * x20) + ((uint64_t) x16 * x18 + ((uint64_t) x18 * x16 + (0x2 * ((uint64_t) x20 * x14) + (0x2 * ((uint64_t) x22 * x12) + (uint64_t) x21 * x10)))))));
- uint64_t x32 = (uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2) + 0x13 * ((uint64_t) x8 * x21 + ((uint64_t) x10 * x22 + (0x2 * ((uint64_t) x12 * x20) + ((uint64_t) x14 * x18 + ((uint64_t) x16 * x16 + ((uint64_t) x18 * x14 + (0x2 * ((uint64_t) x20 * x12) + ((uint64_t) x22 * x10 + (uint64_t) x21 * x8))))))));
- uint64_t x33 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x13 * ((uint64_t) x6 * x21 + ((uint64_t) x8 * x22 + ((uint64_t) x10 * x20 + ((uint64_t) x12 * x18 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + ((uint64_t) x18 * x12 + ((uint64_t) x20 * x10 + ((uint64_t) x22 * x8 + (uint64_t) x21 * x6)))))))));
- uint64_t x34 = (uint64_t) x2 * x2 + 0x13 * (0x2 * ((uint64_t) x4 * x21) + (0x2 * ((uint64_t) x6 * x22) + (0x2 * ((uint64_t) x8 * x20) + ((uint64_t) x10 * x18 + (0x2 * ((uint64_t) x12 * x16) + (0x2 * ((uint64_t) x14 * x14) + (0x2 * ((uint64_t) x16 * x12) + ((uint64_t) x18 * x10 + (0x2 * ((uint64_t) x20 * x8) + (0x2 * ((uint64_t) x22 * x6) + 0x2 * ((uint64_t) x21 * x4)))))))))));
- uint64_t x35 = x34 >> 0x19;
- uint32_t x36 = (uint32_t) x34 & 0x1ffffff;
- uint64_t x37 = x35 + x33;
- uint64_t x38 = x37 >> 0x18;
- uint32_t x39 = (uint32_t) x37 & 0xffffff;
- uint64_t x40 = x38 + x32;
- uint64_t x41 = x40 >> 0x18;
- uint32_t x42 = (uint32_t) x40 & 0xffffff;
- uint64_t x43 = x41 + x31;
- uint64_t x44 = x43 >> 0x18;
- uint32_t x45 = (uint32_t) x43 & 0xffffff;
- uint64_t x46 = x44 + x30;
- uint32_t x47 = (uint32_t) (x46 >> 0x19);
- uint32_t x48 = (uint32_t) x46 & 0x1ffffff;
- uint64_t x49 = x47 + x29;
- uint32_t x50 = (uint32_t) (x49 >> 0x18);
- uint32_t x51 = (uint32_t) x49 & 0xffffff;
- uint64_t x52 = x50 + x28;
- uint32_t x53 = (uint32_t) (x52 >> 0x18);
- uint32_t x54 = (uint32_t) x52 & 0xffffff;
- uint64_t x55 = x53 + x27;
- uint32_t x56 = (uint32_t) (x55 >> 0x18);
- uint32_t x57 = (uint32_t) x55 & 0xffffff;
- uint64_t x58 = x56 + x26;
- uint32_t x59 = (uint32_t) (x58 >> 0x19);
- uint32_t x60 = (uint32_t) x58 & 0x1ffffff;
- uint64_t x61 = x59 + x25;
- uint32_t x62 = (uint32_t) (x61 >> 0x18);
- uint32_t x63 = (uint32_t) x61 & 0xffffff;
- uint64_t x64 = x62 + x24;
- uint32_t x65 = (uint32_t) (x64 >> 0x18);
- uint32_t x66 = (uint32_t) x64 & 0xffffff;
- uint64_t x67 = x65 + x23;
- uint32_t x68 = (uint32_t) (x67 >> 0x18);
- uint32_t x69 = (uint32_t) x67 & 0xffffff;
- uint64_t x70 = x36 + (uint64_t) 0x13 * x68;
+ uint64_t x23 = (((uint64_t)x2 * x21) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x21 * x2))))))))))));
+ uint64_t x24 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + ((0x2 * ((uint64_t)x12 * x12)) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x13 * ((uint64_t)x21 * x21)));
+ uint64_t x25 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x13 * (((uint64_t)x22 * x21) + ((uint64_t)x21 * x22))));
+ uint64_t x26 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + (((uint64_t)x10 * x10) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x13 * ((0x2 * ((uint64_t)x20 * x21)) + ((0x2 * ((uint64_t)x22 * x22)) + (0x2 * ((uint64_t)x21 * x20))))));
+ uint64_t x27 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x13 * (((uint64_t)x18 * x21) + ((0x2 * ((uint64_t)x20 * x22)) + ((0x2 * ((uint64_t)x22 * x20)) + ((uint64_t)x21 * x18))))));
+ uint64_t x28 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x13 * (((uint64_t)x16 * x21) + (((uint64_t)x18 * x22) + ((0x2 * ((uint64_t)x20 * x20)) + (((uint64_t)x22 * x18) + ((uint64_t)x21 * x16)))))));
+ uint64_t x29 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x13 * (((uint64_t)x14 * x21) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((uint64_t)x21 * x14))))))));
+ uint64_t x30 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x13 * ((0x2 * ((uint64_t)x12 * x21)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + (((uint64_t)x18 * x18) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + (0x2 * ((uint64_t)x21 * x12))))))))));
+ uint64_t x31 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x13 * (((uint64_t)x10 * x21) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((uint64_t)x21 * x10))))))))));
+ uint64_t x32 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x13 * (((uint64_t)x8 * x21) + (((uint64_t)x10 * x22) + ((0x2 * ((uint64_t)x12 * x20)) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + ((0x2 * ((uint64_t)x20 * x12)) + (((uint64_t)x22 * x10) + ((uint64_t)x21 * x8)))))))))));
+ uint64_t x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x13 * (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))));
+ uint64_t x34 = (((uint64_t)x2 * x2) + (0x13 * ((0x2 * ((uint64_t)x4 * x21)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + (((uint64_t)x10 * x18) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + (((uint64_t)x18 * x10) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + (0x2 * ((uint64_t)x21 * x4))))))))))))));
+ uint64_t x35 = (x34 >> 0x19);
+ uint32_t x36 = ((uint32_t)x34 & 0x1ffffff);
+ uint64_t x37 = (x35 + x33);
+ uint64_t x38 = (x37 >> 0x18);
+ uint32_t x39 = ((uint32_t)x37 & 0xffffff);
+ uint64_t x40 = (x38 + x32);
+ uint64_t x41 = (x40 >> 0x18);
+ uint32_t x42 = ((uint32_t)x40 & 0xffffff);
+ uint64_t x43 = (x41 + x31);
+ uint64_t x44 = (x43 >> 0x18);
+ uint32_t x45 = ((uint32_t)x43 & 0xffffff);
+ uint64_t x46 = (x44 + x30);
+ uint64_t x47 = (x46 >> 0x19);
+ uint32_t x48 = ((uint32_t)x46 & 0x1ffffff);
+ uint64_t x49 = (x47 + x29);
+ uint64_t x50 = (x49 >> 0x18);
+ uint32_t x51 = ((uint32_t)x49 & 0xffffff);
+ uint64_t x52 = (x50 + x28);
+ uint64_t x53 = (x52 >> 0x18);
+ uint32_t x54 = ((uint32_t)x52 & 0xffffff);
+ uint64_t x55 = (x53 + x27);
+ uint64_t x56 = (x55 >> 0x18);
+ uint32_t x57 = ((uint32_t)x55 & 0xffffff);
+ uint64_t x58 = (x56 + x26);
+ uint64_t x59 = (x58 >> 0x19);
+ uint32_t x60 = ((uint32_t)x58 & 0x1ffffff);
+ uint64_t x61 = (x59 + x25);
+ uint64_t x62 = (x61 >> 0x18);
+ uint32_t x63 = ((uint32_t)x61 & 0xffffff);
+ uint64_t x64 = (x62 + x24);
+ uint64_t x65 = (x64 >> 0x18);
+ uint32_t x66 = ((uint32_t)x64 & 0xffffff);
+ uint64_t x67 = (x65 + x23);
+ uint64_t x68 = (x67 >> 0x18);
+ uint32_t x69 = ((uint32_t)x67 & 0xffffff);
+ uint64_t x70 = (x36 + (0x13 * x68));
uint32_t x71 = (uint32_t) (x70 >> 0x19);
- uint32_t x72 = (uint32_t) x70 & 0x1ffffff;
- uint32_t x73 = x71 + x39;
- uint32_t x74 = x73 >> 0x18;
- uint32_t x75 = x73 & 0xffffff;
- return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, x74 + x42, Return x75, Return x72))
+ uint32_t x72 = ((uint32_t)x70 & 0x1ffffff);
+ uint32_t x73 = (x71 + x39);
+ uint32_t x74 = (x73 >> 0x18);
+ uint32_t x75 = (x73 & 0xffffff);
+ return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, (x74 + x42), Return x75, Return x72))
x
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e291m19/freezeDisplay.log b/src/Specific/solinas32_2e291m19/freezeDisplay.log
index fea64f956..32da3ea8d 100644
--- a/src/Specific/solinas32_2e291m19/freezeDisplay.log
+++ b/src/Specific/solinas32_2e291m19/freezeDisplay.log
@@ -15,29 +15,29 @@ Interp-η
uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0xffffff);
uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0xffffff);
uint32_t x59 = (uint32_t)cmovznz(x58, 0x0, 0xffffffff);
- uint32_t x60 = x59 & 0x1ffffed;
+ uint32_t x60 = (x59 & 0x1ffffed);
uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
- uint32_t x64 = x59 & 0xffffff;
+ uint32_t x64 = (x59 & 0xffffff);
uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
- uint32_t x68 = x59 & 0xffffff;
+ uint32_t x68 = (x59 & 0xffffff);
uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
- uint32_t x72 = x59 & 0xffffff;
+ uint32_t x72 = (x59 & 0xffffff);
uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
- uint32_t x76 = x59 & 0x1ffffff;
+ uint32_t x76 = (x59 & 0x1ffffff);
uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
- uint32_t x80 = x59 & 0xffffff;
+ uint32_t x80 = (x59 & 0xffffff);
uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
- uint32_t x84 = x59 & 0xffffff;
+ uint32_t x84 = (x59 & 0xffffff);
uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
- uint32_t x88 = x59 & 0xffffff;
+ uint32_t x88 = (x59 & 0xffffff);
uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
- uint32_t x92 = x59 & 0x1ffffff;
+ uint32_t x92 = (x59 & 0x1ffffff);
uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
- uint32_t x96 = x59 & 0xffffff;
+ uint32_t x96 = (x59 & 0xffffff);
uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
- uint32_t x100 = x59 & 0xffffff;
+ uint32_t x100 = (x59 & 0xffffff);
uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
- uint32_t x104 = x59 & 0xffffff;
+ uint32_t x104 = (x59 & 0xffffff);
uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
(Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
x
diff --git a/src/Specific/solinas32_2e321m9/fesquareDisplay.log b/src/Specific/solinas32_2e321m9/fesquareDisplay.log
index 6d64ad2ed..e598c253f 100644
--- a/src/Specific/solinas32_2e321m9/fesquareDisplay.log
+++ b/src/Specific/solinas32_2e321m9/fesquareDisplay.log
@@ -2,75 +2,75 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x29, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x31 = (uint64_t) x2 * x29 + (0x2 * ((uint64_t) x4 * x30) + (0x2 * ((uint64_t) x6 * x28) + (0x2 * ((uint64_t) x8 * x26) + (0x2 * ((uint64_t) x10 * x24) + (0x2 * ((uint64_t) x12 * x22) + (0x2 * ((uint64_t) x14 * x20) + (0x2 * ((uint64_t) x16 * x18) + (0x2 * ((uint64_t) x18 * x16) + (0x2 * ((uint64_t) x20 * x14) + (0x2 * ((uint64_t) x22 * x12) + (0x2 * ((uint64_t) x24 * x10) + (0x2 * ((uint64_t) x26 * x8) + (0x2 * ((uint64_t) x28 * x6) + (0x2 * ((uint64_t) x30 * x4) + (uint64_t) x29 * x2))))))))))))));
- uint64_t x32 = (uint64_t) x2 * x30 + (0x2 * ((uint64_t) x4 * x28) + (0x2 * ((uint64_t) x6 * x26) + (0x2 * ((uint64_t) x8 * x24) + (0x2 * ((uint64_t) x10 * x22) + (0x2 * ((uint64_t) x12 * x20) + (0x2 * ((uint64_t) x14 * x18) + (0x2 * ((uint64_t) x16 * x16) + (0x2 * ((uint64_t) x18 * x14) + (0x2 * ((uint64_t) x20 * x12) + (0x2 * ((uint64_t) x22 * x10) + (0x2 * ((uint64_t) x24 * x8) + (0x2 * ((uint64_t) x26 * x6) + (0x2 * ((uint64_t) x28 * x4) + (uint64_t) x30 * x2))))))))))))) + 0x9 * ((uint64_t) x29 * x29);
- uint64_t x33 = (uint64_t) x2 * x28 + (0x2 * ((uint64_t) x4 * x26) + (0x2 * ((uint64_t) x6 * x24) + (0x2 * ((uint64_t) x8 * x22) + (0x2 * ((uint64_t) x10 * x20) + (0x2 * ((uint64_t) x12 * x18) + (0x2 * ((uint64_t) x14 * x16) + (0x2 * ((uint64_t) x16 * x14) + (0x2 * ((uint64_t) x18 * x12) + (0x2 * ((uint64_t) x20 * x10) + (0x2 * ((uint64_t) x22 * x8) + (0x2 * ((uint64_t) x24 * x6) + (0x2 * ((uint64_t) x26 * x4) + (uint64_t) x28 * x2)))))))))))) + 0x9 * ((uint64_t) x30 * x29 + (uint64_t) x29 * x30);
- uint64_t x34 = (uint64_t) x2 * x26 + (0x2 * ((uint64_t) x4 * x24) + (0x2 * ((uint64_t) x6 * x22) + (0x2 * ((uint64_t) x8 * x20) + (0x2 * ((uint64_t) x10 * x18) + (0x2 * ((uint64_t) x12 * x16) + (0x2 * ((uint64_t) x14 * x14) + (0x2 * ((uint64_t) x16 * x12) + (0x2 * ((uint64_t) x18 * x10) + (0x2 * ((uint64_t) x20 * x8) + (0x2 * ((uint64_t) x22 * x6) + (0x2 * ((uint64_t) x24 * x4) + (uint64_t) x26 * x2))))))))))) + 0x9 * ((uint64_t) x28 * x29 + ((uint64_t) x30 * x30 + (uint64_t) x29 * x28));
- uint64_t x35 = (uint64_t) x2 * x24 + (0x2 * ((uint64_t) x4 * x22) + (0x2 * ((uint64_t) x6 * x20) + (0x2 * ((uint64_t) x8 * x18) + (0x2 * ((uint64_t) x10 * x16) + (0x2 * ((uint64_t) x12 * x14) + (0x2 * ((uint64_t) x14 * x12) + (0x2 * ((uint64_t) x16 * x10) + (0x2 * ((uint64_t) x18 * x8) + (0x2 * ((uint64_t) x20 * x6) + (0x2 * ((uint64_t) x22 * x4) + (uint64_t) x24 * x2)))))))))) + 0x9 * ((uint64_t) x26 * x29 + ((uint64_t) x28 * x30 + ((uint64_t) x30 * x28 + (uint64_t) x29 * x26)));
- uint64_t x36 = (uint64_t) x2 * x22 + (0x2 * ((uint64_t) x4 * x20) + (0x2 * ((uint64_t) x6 * x18) + (0x2 * ((uint64_t) x8 * x16) + (0x2 * ((uint64_t) x10 * x14) + (0x2 * ((uint64_t) x12 * x12) + (0x2 * ((uint64_t) x14 * x10) + (0x2 * ((uint64_t) x16 * x8) + (0x2 * ((uint64_t) x18 * x6) + (0x2 * ((uint64_t) x20 * x4) + (uint64_t) x22 * x2))))))))) + 0x9 * ((uint64_t) x24 * x29 + ((uint64_t) x26 * x30 + ((uint64_t) x28 * x28 + ((uint64_t) x30 * x26 + (uint64_t) x29 * x24))));
- uint64_t x37 = (uint64_t) x2 * x20 + (0x2 * ((uint64_t) x4 * x18) + (0x2 * ((uint64_t) x6 * x16) + (0x2 * ((uint64_t) x8 * x14) + (0x2 * ((uint64_t) x10 * x12) + (0x2 * ((uint64_t) x12 * x10) + (0x2 * ((uint64_t) x14 * x8) + (0x2 * ((uint64_t) x16 * x6) + (0x2 * ((uint64_t) x18 * x4) + (uint64_t) x20 * x2)))))))) + 0x9 * ((uint64_t) x22 * x29 + ((uint64_t) x24 * x30 + ((uint64_t) x26 * x28 + ((uint64_t) x28 * x26 + ((uint64_t) x30 * x24 + (uint64_t) x29 * x22)))));
- uint64_t x38 = (uint64_t) x2 * x18 + (0x2 * ((uint64_t) x4 * x16) + (0x2 * ((uint64_t) x6 * x14) + (0x2 * ((uint64_t) x8 * x12) + (0x2 * ((uint64_t) x10 * x10) + (0x2 * ((uint64_t) x12 * x8) + (0x2 * ((uint64_t) x14 * x6) + (0x2 * ((uint64_t) x16 * x4) + (uint64_t) x18 * x2))))))) + 0x9 * ((uint64_t) x20 * x29 + ((uint64_t) x22 * x30 + ((uint64_t) x24 * x28 + ((uint64_t) x26 * x26 + ((uint64_t) x28 * x24 + ((uint64_t) x30 * x22 + (uint64_t) x29 * x20))))));
- uint64_t x39 = (uint64_t) x2 * x16 + (0x2 * ((uint64_t) x4 * x14) + (0x2 * ((uint64_t) x6 * x12) + (0x2 * ((uint64_t) x8 * x10) + (0x2 * ((uint64_t) x10 * x8) + (0x2 * ((uint64_t) x12 * x6) + (0x2 * ((uint64_t) x14 * x4) + (uint64_t) x16 * x2)))))) + 0x9 * ((uint64_t) x18 * x29 + ((uint64_t) x20 * x30 + ((uint64_t) x22 * x28 + ((uint64_t) x24 * x26 + ((uint64_t) x26 * x24 + ((uint64_t) x28 * x22 + ((uint64_t) x30 * x20 + (uint64_t) x29 * x18)))))));
- uint64_t x40 = (uint64_t) x2 * x14 + (0x2 * ((uint64_t) x4 * x12) + (0x2 * ((uint64_t) x6 * x10) + (0x2 * ((uint64_t) x8 * x8) + (0x2 * ((uint64_t) x10 * x6) + (0x2 * ((uint64_t) x12 * x4) + (uint64_t) x14 * x2))))) + 0x9 * ((uint64_t) x16 * x29 + ((uint64_t) x18 * x30 + ((uint64_t) x20 * x28 + ((uint64_t) x22 * x26 + ((uint64_t) x24 * x24 + ((uint64_t) x26 * x22 + ((uint64_t) x28 * x20 + ((uint64_t) x30 * x18 + (uint64_t) x29 * x16))))))));
- uint64_t x41 = (uint64_t) x2 * x12 + (0x2 * ((uint64_t) x4 * x10) + (0x2 * ((uint64_t) x6 * x8) + (0x2 * ((uint64_t) x8 * x6) + (0x2 * ((uint64_t) x10 * x4) + (uint64_t) x12 * x2)))) + 0x9 * ((uint64_t) x14 * x29 + ((uint64_t) x16 * x30 + ((uint64_t) x18 * x28 + ((uint64_t) x20 * x26 + ((uint64_t) x22 * x24 + ((uint64_t) x24 * x22 + ((uint64_t) x26 * x20 + ((uint64_t) x28 * x18 + ((uint64_t) x30 * x16 + (uint64_t) x29 * x14)))))))));
- uint64_t x42 = (uint64_t) x2 * x10 + (0x2 * ((uint64_t) x4 * x8) + (0x2 * ((uint64_t) x6 * x6) + (0x2 * ((uint64_t) x8 * x4) + (uint64_t) x10 * x2))) + 0x9 * ((uint64_t) x12 * x29 + ((uint64_t) x14 * x30 + ((uint64_t) x16 * x28 + ((uint64_t) x18 * x26 + ((uint64_t) x20 * x24 + ((uint64_t) x22 * x22 + ((uint64_t) x24 * x20 + ((uint64_t) x26 * x18 + ((uint64_t) x28 * x16 + ((uint64_t) x30 * x14 + (uint64_t) x29 * x12))))))))));
- uint64_t x43 = (uint64_t) x2 * x8 + (0x2 * ((uint64_t) x4 * x6) + (0x2 * ((uint64_t) x6 * x4) + (uint64_t) x8 * x2)) + 0x9 * ((uint64_t) x10 * x29 + ((uint64_t) x12 * x30 + ((uint64_t) x14 * x28 + ((uint64_t) x16 * x26 + ((uint64_t) x18 * x24 + ((uint64_t) x20 * x22 + ((uint64_t) x22 * x20 + ((uint64_t) x24 * x18 + ((uint64_t) x26 * x16 + ((uint64_t) x28 * x14 + ((uint64_t) x30 * x12 + (uint64_t) x29 * x10)))))))))));
- uint64_t x44 = (uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2) + 0x9 * ((uint64_t) x8 * x29 + ((uint64_t) x10 * x30 + ((uint64_t) x12 * x28 + ((uint64_t) x14 * x26 + ((uint64_t) x16 * x24 + ((uint64_t) x18 * x22 + ((uint64_t) x20 * x20 + ((uint64_t) x22 * x18 + ((uint64_t) x24 * x16 + ((uint64_t) x26 * x14 + ((uint64_t) x28 * x12 + ((uint64_t) x30 * x10 + (uint64_t) x29 * x8))))))))))));
- uint64_t x45 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x9 * ((uint64_t) x6 * x29 + ((uint64_t) x8 * x30 + ((uint64_t) x10 * x28 + ((uint64_t) x12 * x26 + ((uint64_t) x14 * x24 + ((uint64_t) x16 * x22 + ((uint64_t) x18 * x20 + ((uint64_t) x20 * x18 + ((uint64_t) x22 * x16 + ((uint64_t) x24 * x14 + ((uint64_t) x26 * x12 + ((uint64_t) x28 * x10 + ((uint64_t) x30 * x8 + (uint64_t) x29 * x6)))))))))))));
- uint64_t x46 = (uint64_t) x2 * x2 + 0x9 * (0x2 * ((uint64_t) x4 * x29) + (0x2 * ((uint64_t) x6 * x30) + (0x2 * ((uint64_t) x8 * x28) + (0x2 * ((uint64_t) x10 * x26) + (0x2 * ((uint64_t) x12 * x24) + (0x2 * ((uint64_t) x14 * x22) + (0x2 * ((uint64_t) x16 * x20) + (0x2 * ((uint64_t) x18 * x18) + (0x2 * ((uint64_t) x20 * x16) + (0x2 * ((uint64_t) x22 * x14) + (0x2 * ((uint64_t) x24 * x12) + (0x2 * ((uint64_t) x26 * x10) + (0x2 * ((uint64_t) x28 * x8) + (0x2 * ((uint64_t) x30 * x6) + 0x2 * ((uint64_t) x29 * x4)))))))))))))));
+ uint64_t x31 = (((uint64_t)x2 * x29) + ((0x2 * ((uint64_t)x4 * x30)) + ((0x2 * ((uint64_t)x6 * x28)) + ((0x2 * ((uint64_t)x8 * x26)) + ((0x2 * ((uint64_t)x10 * x24)) + ((0x2 * ((uint64_t)x12 * x22)) + ((0x2 * ((uint64_t)x14 * x20)) + ((0x2 * ((uint64_t)x16 * x18)) + ((0x2 * ((uint64_t)x18 * x16)) + ((0x2 * ((uint64_t)x20 * x14)) + ((0x2 * ((uint64_t)x22 * x12)) + ((0x2 * ((uint64_t)x24 * x10)) + ((0x2 * ((uint64_t)x26 * x8)) + ((0x2 * ((uint64_t)x28 * x6)) + ((0x2 * ((uint64_t)x30 * x4)) + ((uint64_t)x29 * x2))))))))))))))));
+ uint64_t x32 = ((((uint64_t)x2 * x30) + ((0x2 * ((uint64_t)x4 * x28)) + ((0x2 * ((uint64_t)x6 * x26)) + ((0x2 * ((uint64_t)x8 * x24)) + ((0x2 * ((uint64_t)x10 * x22)) + ((0x2 * ((uint64_t)x12 * x20)) + ((0x2 * ((uint64_t)x14 * x18)) + ((0x2 * ((uint64_t)x16 * x16)) + ((0x2 * ((uint64_t)x18 * x14)) + ((0x2 * ((uint64_t)x20 * x12)) + ((0x2 * ((uint64_t)x22 * x10)) + ((0x2 * ((uint64_t)x24 * x8)) + ((0x2 * ((uint64_t)x26 * x6)) + ((0x2 * ((uint64_t)x28 * x4)) + ((uint64_t)x30 * x2))))))))))))))) + (0x9 * ((uint64_t)x29 * x29)));
+ uint64_t x33 = ((((uint64_t)x2 * x28) + ((0x2 * ((uint64_t)x4 * x26)) + ((0x2 * ((uint64_t)x6 * x24)) + ((0x2 * ((uint64_t)x8 * x22)) + ((0x2 * ((uint64_t)x10 * x20)) + ((0x2 * ((uint64_t)x12 * x18)) + ((0x2 * ((uint64_t)x14 * x16)) + ((0x2 * ((uint64_t)x16 * x14)) + ((0x2 * ((uint64_t)x18 * x12)) + ((0x2 * ((uint64_t)x20 * x10)) + ((0x2 * ((uint64_t)x22 * x8)) + ((0x2 * ((uint64_t)x24 * x6)) + ((0x2 * ((uint64_t)x26 * x4)) + ((uint64_t)x28 * x2)))))))))))))) + (0x9 * (((uint64_t)x30 * x29) + ((uint64_t)x29 * x30))));
+ uint64_t x34 = ((((uint64_t)x2 * x26) + ((0x2 * ((uint64_t)x4 * x24)) + ((0x2 * ((uint64_t)x6 * x22)) + ((0x2 * ((uint64_t)x8 * x20)) + ((0x2 * ((uint64_t)x10 * x18)) + ((0x2 * ((uint64_t)x12 * x16)) + ((0x2 * ((uint64_t)x14 * x14)) + ((0x2 * ((uint64_t)x16 * x12)) + ((0x2 * ((uint64_t)x18 * x10)) + ((0x2 * ((uint64_t)x20 * x8)) + ((0x2 * ((uint64_t)x22 * x6)) + ((0x2 * ((uint64_t)x24 * x4)) + ((uint64_t)x26 * x2))))))))))))) + (0x9 * (((uint64_t)x28 * x29) + (((uint64_t)x30 * x30) + ((uint64_t)x29 * x28)))));
+ uint64_t x35 = ((((uint64_t)x2 * x24) + ((0x2 * ((uint64_t)x4 * x22)) + ((0x2 * ((uint64_t)x6 * x20)) + ((0x2 * ((uint64_t)x8 * x18)) + ((0x2 * ((uint64_t)x10 * x16)) + ((0x2 * ((uint64_t)x12 * x14)) + ((0x2 * ((uint64_t)x14 * x12)) + ((0x2 * ((uint64_t)x16 * x10)) + ((0x2 * ((uint64_t)x18 * x8)) + ((0x2 * ((uint64_t)x20 * x6)) + ((0x2 * ((uint64_t)x22 * x4)) + ((uint64_t)x24 * x2)))))))))))) + (0x9 * (((uint64_t)x26 * x29) + (((uint64_t)x28 * x30) + (((uint64_t)x30 * x28) + ((uint64_t)x29 * x26))))));
+ uint64_t x36 = ((((uint64_t)x2 * x22) + ((0x2 * ((uint64_t)x4 * x20)) + ((0x2 * ((uint64_t)x6 * x18)) + ((0x2 * ((uint64_t)x8 * x16)) + ((0x2 * ((uint64_t)x10 * x14)) + ((0x2 * ((uint64_t)x12 * x12)) + ((0x2 * ((uint64_t)x14 * x10)) + ((0x2 * ((uint64_t)x16 * x8)) + ((0x2 * ((uint64_t)x18 * x6)) + ((0x2 * ((uint64_t)x20 * x4)) + ((uint64_t)x22 * x2))))))))))) + (0x9 * (((uint64_t)x24 * x29) + (((uint64_t)x26 * x30) + (((uint64_t)x28 * x28) + (((uint64_t)x30 * x26) + ((uint64_t)x29 * x24)))))));
+ uint64_t x37 = ((((uint64_t)x2 * x20) + ((0x2 * ((uint64_t)x4 * x18)) + ((0x2 * ((uint64_t)x6 * x16)) + ((0x2 * ((uint64_t)x8 * x14)) + ((0x2 * ((uint64_t)x10 * x12)) + ((0x2 * ((uint64_t)x12 * x10)) + ((0x2 * ((uint64_t)x14 * x8)) + ((0x2 * ((uint64_t)x16 * x6)) + ((0x2 * ((uint64_t)x18 * x4)) + ((uint64_t)x20 * x2)))))))))) + (0x9 * (((uint64_t)x22 * x29) + (((uint64_t)x24 * x30) + (((uint64_t)x26 * x28) + (((uint64_t)x28 * x26) + (((uint64_t)x30 * x24) + ((uint64_t)x29 * x22))))))));
+ uint64_t x38 = ((((uint64_t)x2 * x18) + ((0x2 * ((uint64_t)x4 * x16)) + ((0x2 * ((uint64_t)x6 * x14)) + ((0x2 * ((uint64_t)x8 * x12)) + ((0x2 * ((uint64_t)x10 * x10)) + ((0x2 * ((uint64_t)x12 * x8)) + ((0x2 * ((uint64_t)x14 * x6)) + ((0x2 * ((uint64_t)x16 * x4)) + ((uint64_t)x18 * x2))))))))) + (0x9 * (((uint64_t)x20 * x29) + (((uint64_t)x22 * x30) + (((uint64_t)x24 * x28) + (((uint64_t)x26 * x26) + (((uint64_t)x28 * x24) + (((uint64_t)x30 * x22) + ((uint64_t)x29 * x20)))))))));
+ uint64_t x39 = ((((uint64_t)x2 * x16) + ((0x2 * ((uint64_t)x4 * x14)) + ((0x2 * ((uint64_t)x6 * x12)) + ((0x2 * ((uint64_t)x8 * x10)) + ((0x2 * ((uint64_t)x10 * x8)) + ((0x2 * ((uint64_t)x12 * x6)) + ((0x2 * ((uint64_t)x14 * x4)) + ((uint64_t)x16 * x2)))))))) + (0x9 * (((uint64_t)x18 * x29) + (((uint64_t)x20 * x30) + (((uint64_t)x22 * x28) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + (((uint64_t)x28 * x22) + (((uint64_t)x30 * x20) + ((uint64_t)x29 * x18))))))))));
+ uint64_t x40 = ((((uint64_t)x2 * x14) + ((0x2 * ((uint64_t)x4 * x12)) + ((0x2 * ((uint64_t)x6 * x10)) + ((0x2 * ((uint64_t)x8 * x8)) + ((0x2 * ((uint64_t)x10 * x6)) + ((0x2 * ((uint64_t)x12 * x4)) + ((uint64_t)x14 * x2))))))) + (0x9 * (((uint64_t)x16 * x29) + (((uint64_t)x18 * x30) + (((uint64_t)x20 * x28) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + (((uint64_t)x28 * x20) + (((uint64_t)x30 * x18) + ((uint64_t)x29 * x16)))))))))));
+ uint64_t x41 = ((((uint64_t)x2 * x12) + ((0x2 * ((uint64_t)x4 * x10)) + ((0x2 * ((uint64_t)x6 * x8)) + ((0x2 * ((uint64_t)x8 * x6)) + ((0x2 * ((uint64_t)x10 * x4)) + ((uint64_t)x12 * x2)))))) + (0x9 * (((uint64_t)x14 * x29) + (((uint64_t)x16 * x30) + (((uint64_t)x18 * x28) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + (((uint64_t)x28 * x18) + (((uint64_t)x30 * x16) + ((uint64_t)x29 * x14))))))))))));
+ uint64_t x42 = ((((uint64_t)x2 * x10) + ((0x2 * ((uint64_t)x4 * x8)) + ((0x2 * ((uint64_t)x6 * x6)) + ((0x2 * ((uint64_t)x8 * x4)) + ((uint64_t)x10 * x2))))) + (0x9 * (((uint64_t)x12 * x29) + (((uint64_t)x14 * x30) + (((uint64_t)x16 * x28) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + (((uint64_t)x28 * x16) + (((uint64_t)x30 * x14) + ((uint64_t)x29 * x12)))))))))))));
+ uint64_t x43 = ((((uint64_t)x2 * x8) + ((0x2 * ((uint64_t)x4 * x6)) + ((0x2 * ((uint64_t)x6 * x4)) + ((uint64_t)x8 * x2)))) + (0x9 * (((uint64_t)x10 * x29) + (((uint64_t)x12 * x30) + (((uint64_t)x14 * x28) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + (((uint64_t)x28 * x14) + (((uint64_t)x30 * x12) + ((uint64_t)x29 * x10))))))))))))));
+ uint64_t x44 = ((((uint64_t)x2 * x6) + ((0x2 * ((uint64_t)x4 * x4)) + ((uint64_t)x6 * x2))) + (0x9 * (((uint64_t)x8 * x29) + (((uint64_t)x10 * x30) + (((uint64_t)x12 * x28) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + (((uint64_t)x28 * x12) + (((uint64_t)x30 * x10) + ((uint64_t)x29 * x8)))))))))))))));
+ uint64_t x45 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x9 * (((uint64_t)x6 * x29) + (((uint64_t)x8 * x30) + (((uint64_t)x10 * x28) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + (((uint64_t)x28 * x10) + (((uint64_t)x30 * x8) + ((uint64_t)x29 * x6))))))))))))))));
+ uint64_t x46 = (((uint64_t)x2 * x2) + (0x9 * ((0x2 * ((uint64_t)x4 * x29)) + ((0x2 * ((uint64_t)x6 * x30)) + ((0x2 * ((uint64_t)x8 * x28)) + ((0x2 * ((uint64_t)x10 * x26)) + ((0x2 * ((uint64_t)x12 * x24)) + ((0x2 * ((uint64_t)x14 * x22)) + ((0x2 * ((uint64_t)x16 * x20)) + ((0x2 * ((uint64_t)x18 * x18)) + ((0x2 * ((uint64_t)x20 * x16)) + ((0x2 * ((uint64_t)x22 * x14)) + ((0x2 * ((uint64_t)x24 * x12)) + ((0x2 * ((uint64_t)x26 * x10)) + ((0x2 * ((uint64_t)x28 * x8)) + ((0x2 * ((uint64_t)x30 * x6)) + (0x2 * ((uint64_t)x29 * x4))))))))))))))))));
uint32_t x47 = (uint32_t) (x46 >> 0x15);
- uint32_t x48 = (uint32_t) x46 & 0x1fffff;
- uint64_t x49 = x47 + x45;
+ uint32_t x48 = ((uint32_t)x46 & 0x1fffff);
+ uint64_t x49 = (x47 + x45);
uint32_t x50 = (uint32_t) (x49 >> 0x14);
- uint32_t x51 = (uint32_t) x49 & 0xfffff;
- uint64_t x52 = x50 + x44;
+ uint32_t x51 = ((uint32_t)x49 & 0xfffff);
+ uint64_t x52 = (x50 + x44);
uint32_t x53 = (uint32_t) (x52 >> 0x14);
- uint32_t x54 = (uint32_t) x52 & 0xfffff;
- uint64_t x55 = x53 + x43;
+ uint32_t x54 = ((uint32_t)x52 & 0xfffff);
+ uint64_t x55 = (x53 + x43);
uint32_t x56 = (uint32_t) (x55 >> 0x14);
- uint32_t x57 = (uint32_t) x55 & 0xfffff;
- uint64_t x58 = x56 + x42;
+ uint32_t x57 = ((uint32_t)x55 & 0xfffff);
+ uint64_t x58 = (x56 + x42);
uint32_t x59 = (uint32_t) (x58 >> 0x14);
- uint32_t x60 = (uint32_t) x58 & 0xfffff;
- uint64_t x61 = x59 + x41;
+ uint32_t x60 = ((uint32_t)x58 & 0xfffff);
+ uint64_t x61 = (x59 + x41);
uint32_t x62 = (uint32_t) (x61 >> 0x14);
- uint32_t x63 = (uint32_t) x61 & 0xfffff;
- uint64_t x64 = x62 + x40;
+ uint32_t x63 = ((uint32_t)x61 & 0xfffff);
+ uint64_t x64 = (x62 + x40);
uint32_t x65 = (uint32_t) (x64 >> 0x14);
- uint32_t x66 = (uint32_t) x64 & 0xfffff;
- uint64_t x67 = x65 + x39;
+ uint32_t x66 = ((uint32_t)x64 & 0xfffff);
+ uint64_t x67 = (x65 + x39);
uint32_t x68 = (uint32_t) (x67 >> 0x14);
- uint32_t x69 = (uint32_t) x67 & 0xfffff;
- uint64_t x70 = x68 + x38;
+ uint32_t x69 = ((uint32_t)x67 & 0xfffff);
+ uint64_t x70 = (x68 + x38);
uint32_t x71 = (uint32_t) (x70 >> 0x14);
- uint32_t x72 = (uint32_t) x70 & 0xfffff;
- uint64_t x73 = x71 + x37;
+ uint32_t x72 = ((uint32_t)x70 & 0xfffff);
+ uint64_t x73 = (x71 + x37);
uint32_t x74 = (uint32_t) (x73 >> 0x14);
- uint32_t x75 = (uint32_t) x73 & 0xfffff;
- uint64_t x76 = x74 + x36;
+ uint32_t x75 = ((uint32_t)x73 & 0xfffff);
+ uint64_t x76 = (x74 + x36);
uint32_t x77 = (uint32_t) (x76 >> 0x14);
- uint32_t x78 = (uint32_t) x76 & 0xfffff;
- uint64_t x79 = x77 + x35;
+ uint32_t x78 = ((uint32_t)x76 & 0xfffff);
+ uint64_t x79 = (x77 + x35);
uint32_t x80 = (uint32_t) (x79 >> 0x14);
- uint32_t x81 = (uint32_t) x79 & 0xfffff;
- uint64_t x82 = x80 + x34;
+ uint32_t x81 = ((uint32_t)x79 & 0xfffff);
+ uint64_t x82 = (x80 + x34);
uint32_t x83 = (uint32_t) (x82 >> 0x14);
- uint32_t x84 = (uint32_t) x82 & 0xfffff;
- uint64_t x85 = x83 + x33;
+ uint32_t x84 = ((uint32_t)x82 & 0xfffff);
+ uint64_t x85 = (x83 + x33);
uint32_t x86 = (uint32_t) (x85 >> 0x14);
- uint32_t x87 = (uint32_t) x85 & 0xfffff;
- uint64_t x88 = x86 + x32;
+ uint32_t x87 = ((uint32_t)x85 & 0xfffff);
+ uint64_t x88 = (x86 + x32);
uint32_t x89 = (uint32_t) (x88 >> 0x14);
- uint32_t x90 = (uint32_t) x88 & 0xfffff;
- uint64_t x91 = x89 + x31;
+ uint32_t x90 = ((uint32_t)x88 & 0xfffff);
+ uint64_t x91 = (x89 + x31);
uint32_t x92 = (uint32_t) (x91 >> 0x14);
- uint32_t x93 = (uint32_t) x91 & 0xfffff;
- uint32_t x94 = x48 + 0x9 * x92;
- uint32_t x95 = x94 >> 0x15;
- uint32_t x96 = x94 & 0x1fffff;
- uint32_t x97 = x95 + x51;
- uint32_t x98 = x97 >> 0x14;
- uint32_t x99 = x97 & 0xfffff;
- return (Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, x98 + x54, Return x99, Return x96))
+ uint32_t x93 = ((uint32_t)x91 & 0xfffff);
+ uint32_t x94 = (x48 + (0x9 * x92));
+ uint32_t x95 = (x94 >> 0x15);
+ uint32_t x96 = (x94 & 0x1fffff);
+ uint32_t x97 = (x95 + x51);
+ uint32_t x98 = (x97 >> 0x14);
+ uint32_t x99 = (x97 & 0xfffff);
+ return (Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, (x98 + x54), Return x99, Return x96))
x
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e321m9/freezeDisplay.log b/src/Specific/solinas32_2e321m9/freezeDisplay.log
index f83f1e8ad..87c119a8c 100644
--- a/src/Specific/solinas32_2e321m9/freezeDisplay.log
+++ b/src/Specific/solinas32_2e321m9/freezeDisplay.log
@@ -19,37 +19,37 @@ Interp-η
uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0xfffff);
uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0xfffff);
uint32_t x79 = (uint32_t)cmovznz(x78, 0x0, 0xffffffff);
- uint32_t x80 = x79 & 0x1ffff7;
+ uint32_t x80 = (x79 & 0x1ffff7);
uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 21 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- uint32_t x84 = x79 & 0xfffff;
+ uint32_t x84 = (x79 & 0xfffff);
uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x35, Return x84);
- uint32_t x88 = x79 & 0xfffff;
+ uint32_t x88 = (x79 & 0xfffff);
uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x38, Return x88);
- uint32_t x92 = x79 & 0xfffff;
+ uint32_t x92 = (x79 & 0xfffff);
uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x41, Return x92);
- uint32_t x96 = x79 & 0xfffff;
+ uint32_t x96 = (x79 & 0xfffff);
uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x44, Return x96);
- uint32_t x100 = x79 & 0xfffff;
+ uint32_t x100 = (x79 & 0xfffff);
uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x47, Return x100);
- uint32_t x104 = x79 & 0xfffff;
+ uint32_t x104 = (x79 & 0xfffff);
uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x50, Return x104);
- uint32_t x108 = x79 & 0xfffff;
+ uint32_t x108 = (x79 & 0xfffff);
uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x53, Return x108);
- uint32_t x112 = x79 & 0xfffff;
+ uint32_t x112 = (x79 & 0xfffff);
uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x56, Return x112);
- uint32_t x116 = x79 & 0xfffff;
+ uint32_t x116 = (x79 & 0xfffff);
uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x59, Return x116);
- uint32_t x120 = x79 & 0xfffff;
+ uint32_t x120 = (x79 & 0xfffff);
uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x62, Return x120);
- uint32_t x124 = x79 & 0xfffff;
+ uint32_t x124 = (x79 & 0xfffff);
uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x65, Return x124);
- uint32_t x128 = x79 & 0xfffff;
+ uint32_t x128 = (x79 & 0xfffff);
uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x68, Return x128);
- uint32_t x132 = x79 & 0xfffff;
+ uint32_t x132 = (x79 & 0xfffff);
uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x71, Return x132);
- uint32_t x136 = x79 & 0xfffff;
+ uint32_t x136 = (x79 & 0xfffff);
uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x74, Return x136);
- uint32_t x140 = x79 & 0xfffff;
+ uint32_t x140 = (x79 & 0xfffff);
uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 20 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x77, Return x140);
(Return x142, Return x138, Return x134, Return x130, Return x126, Return x122, Return x118, Return x114, Return x110, Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82))
x
diff --git a/src/Specific/solinas32_2e322m2e161m1/femulDisplay.log b/src/Specific/solinas32_2e322m2e161m1/femulDisplay.log
new file mode 100644
index 000000000..55386e3bb
--- /dev/null
+++ b/src/Specific/solinas32_2e322m2e161m1/femulDisplay.log
@@ -0,0 +1,91 @@
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
+ uint64_t x56 = (((uint64_t)(x17 + x28) * (x43 + x54)) - ((uint64_t)x17 * x43));
+ uint64_t x57 = ((((uint64_t)(x15 + x29) * (x43 + x54)) + ((uint64_t)(x17 + x28) * (x41 + x55))) - (((uint64_t)x15 * x43) + ((uint64_t)x17 * x41)));
+ uint64_t x58 = ((((uint64_t)(x13 + x27) * (x43 + x54)) + (((uint64_t)(x15 + x29) * (x41 + x55)) + ((uint64_t)(x17 + x28) * (x39 + x53)))) - (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + ((uint64_t)x17 * x39))));
+ uint64_t x59 = ((((uint64_t)(x11 + x25) * (x43 + x54)) + (((uint64_t)(x13 + x27) * (x41 + x55)) + (((uint64_t)(x15 + x29) * (x39 + x53)) + ((uint64_t)(x17 + x28) * (x37 + x51))))) - (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37)))));
+ uint64_t x60 = ((((uint64_t)(x9 + x23) * (x43 + x54)) + (((uint64_t)(x11 + x25) * (x41 + x55)) + (((uint64_t)(x13 + x27) * (x39 + x53)) + (((uint64_t)(x15 + x29) * (x37 + x51)) + ((uint64_t)(x17 + x28) * (x35 + x49)))))) - (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((uint64_t)x17 * x35))))));
+ uint64_t x61 = ((((uint64_t)(x7 + x21) * (x43 + x54)) + (((uint64_t)(x9 + x23) * (x41 + x55)) + (((uint64_t)(x11 + x25) * (x39 + x53)) + (((uint64_t)(x13 + x27) * (x37 + x51)) + (((uint64_t)(x15 + x29) * (x35 + x49)) + ((uint64_t)(x17 + x28) * (x33 + x47))))))) - (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + ((uint64_t)x17 * x33)))))));
+ uint64_t x62 = ((((uint64_t)(x5 + x19) * (x43 + x54)) + (((uint64_t)(x7 + x21) * (x41 + x55)) + (((uint64_t)(x9 + x23) * (x39 + x53)) + (((uint64_t)(x11 + x25) * (x37 + x51)) + (((uint64_t)(x13 + x27) * (x35 + x49)) + (((uint64_t)(x15 + x29) * (x33 + x47)) + ((uint64_t)(x17 + x28) * (x31 + x45)))))))) - (((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + ((uint64_t)x17 * x31))))))));
+ uint64_t x63 = ((((uint64_t)(x5 + x19) * (x41 + x55)) + (((uint64_t)(x7 + x21) * (x39 + x53)) + (((uint64_t)(x9 + x23) * (x37 + x51)) + (((uint64_t)(x11 + x25) * (x35 + x49)) + (((uint64_t)(x13 + x27) * (x33 + x47)) + ((uint64_t)(x15 + x29) * (x31 + x45))))))) - (((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((uint64_t)x15 * x31)))))));
+ uint64_t x64 = ((((uint64_t)(x5 + x19) * (x39 + x53)) + (((uint64_t)(x7 + x21) * (x37 + x51)) + (((uint64_t)(x9 + x23) * (x35 + x49)) + (((uint64_t)(x11 + x25) * (x33 + x47)) + ((uint64_t)(x13 + x27) * (x31 + x45)))))) - (((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + ((uint64_t)x13 * x31))))));
+ uint64_t x65 = ((((uint64_t)(x5 + x19) * (x37 + x51)) + (((uint64_t)(x7 + x21) * (x35 + x49)) + (((uint64_t)(x9 + x23) * (x33 + x47)) + ((uint64_t)(x11 + x25) * (x31 + x45))))) - (((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + ((uint64_t)x11 * x31)))));
+ uint64_t x66 = ((((uint64_t)(x5 + x19) * (x35 + x49)) + (((uint64_t)(x7 + x21) * (x33 + x47)) + ((uint64_t)(x9 + x23) * (x31 + x45)))) - (((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((uint64_t)x9 * x31))));
+ uint64_t x67 = ((((uint64_t)(x5 + x19) * (x33 + x47)) + ((uint64_t)(x7 + x21) * (x31 + x45))) - (((uint64_t)x5 * x33) + ((uint64_t)x7 * x31)));
+ uint64_t x68 = (((uint64_t)(x5 + x19) * (x31 + x45)) - ((uint64_t)x5 * x31));
+ uint64_t x69 = (((((uint64_t)x17 * x43) + ((uint64_t)x28 * x54)) + x63) + x56);
+ uint64_t x70 = ((((((uint64_t)x15 * x43) + ((uint64_t)x17 * x41)) + (((uint64_t)x29 * x54) + ((uint64_t)x28 * x55))) + x64) + x57);
+ uint64_t x71 = ((((((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + ((uint64_t)x17 * x39))) + (((uint64_t)x27 * x54) + (((uint64_t)x29 * x55) + ((uint64_t)x28 * x53)))) + x65) + x58);
+ uint64_t x72 = ((((((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + ((uint64_t)x17 * x37)))) + (((uint64_t)x25 * x54) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + ((uint64_t)x28 * x51))))) + x66) + x59);
+ uint64_t x73 = ((((((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + ((uint64_t)x17 * x35))))) + (((uint64_t)x23 * x54) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((uint64_t)x28 * x49)))))) + x67) + x60);
+ uint64_t x74 = ((((((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + ((uint64_t)x17 * x33)))))) + (((uint64_t)x21 * x54) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + ((uint64_t)x28 * x47))))))) + x68) + x61);
+ uint64_t x75 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + ((uint64_t)x17 * x31))))))) + (((uint64_t)x19 * x54) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + ((uint64_t)x28 * x45))))))));
+ uint64_t x76 = (((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((uint64_t)x15 * x31)))))) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + ((uint64_t)x29 * x45))))))) + x56);
+ uint64_t x77 = (((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + ((uint64_t)x13 * x31))))) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + ((uint64_t)x27 * x45)))))) + x57);
+ uint64_t x78 = (((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + ((uint64_t)x11 * x31)))) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + ((uint64_t)x25 * x45))))) + x58);
+ uint64_t x79 = (((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((uint64_t)x9 * x31))) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + ((uint64_t)x23 * x45)))) + x59);
+ uint64_t x80 = (((((uint64_t)x5 * x33) + ((uint64_t)x7 * x31)) + (((uint64_t)x19 * x47) + ((uint64_t)x21 * x45))) + x60);
+ uint64_t x81 = ((((uint64_t)x5 * x31) + ((uint64_t)x19 * x45)) + x61);
+ uint32_t x82 = (uint32_t) (x75 >> 0x17);
+ uint32_t x83 = ((uint32_t)x75 & 0x7fffff);
+ uint32_t x84 = (uint32_t) (x62 >> 0x17);
+ uint32_t x85 = ((uint32_t)x62 & 0x7fffff);
+ uint64_t x86 = (((uint64_t)0x800000 * x84) + x85);
+ uint32_t x87 = (uint32_t) (x86 >> 0x17);
+ uint32_t x88 = ((uint32_t)x86 & 0x7fffff);
+ uint64_t x89 = ((x82 + x74) + x87);
+ uint32_t x90 = (uint32_t) (x89 >> 0x17);
+ uint32_t x91 = ((uint32_t)x89 & 0x7fffff);
+ uint64_t x92 = (x81 + x87);
+ uint32_t x93 = (uint32_t) (x92 >> 0x17);
+ uint32_t x94 = ((uint32_t)x92 & 0x7fffff);
+ uint64_t x95 = (x90 + x73);
+ uint32_t x96 = (uint32_t) (x95 >> 0x17);
+ uint32_t x97 = ((uint32_t)x95 & 0x7fffff);
+ uint64_t x98 = (x93 + x80);
+ uint32_t x99 = (uint32_t) (x98 >> 0x17);
+ uint32_t x100 = ((uint32_t)x98 & 0x7fffff);
+ uint64_t x101 = (x96 + x72);
+ uint32_t x102 = (uint32_t) (x101 >> 0x17);
+ uint32_t x103 = ((uint32_t)x101 & 0x7fffff);
+ uint64_t x104 = (x99 + x79);
+ uint32_t x105 = (uint32_t) (x104 >> 0x17);
+ uint32_t x106 = ((uint32_t)x104 & 0x7fffff);
+ uint64_t x107 = (x102 + x71);
+ uint32_t x108 = (uint32_t) (x107 >> 0x17);
+ uint32_t x109 = ((uint32_t)x107 & 0x7fffff);
+ uint64_t x110 = (x105 + x78);
+ uint32_t x111 = (uint32_t) (x110 >> 0x17);
+ uint32_t x112 = ((uint32_t)x110 & 0x7fffff);
+ uint64_t x113 = (x108 + x70);
+ uint32_t x114 = (uint32_t) (x113 >> 0x17);
+ uint32_t x115 = ((uint32_t)x113 & 0x7fffff);
+ uint64_t x116 = (x111 + x77);
+ uint32_t x117 = (uint32_t) (x116 >> 0x17);
+ uint32_t x118 = ((uint32_t)x116 & 0x7fffff);
+ uint64_t x119 = (x114 + x69);
+ uint32_t x120 = (uint32_t) (x119 >> 0x17);
+ uint32_t x121 = ((uint32_t)x119 & 0x7fffff);
+ uint64_t x122 = (x117 + x76);
+ uint32_t x123 = (uint32_t) (x122 >> 0x17);
+ uint32_t x124 = ((uint32_t)x122 & 0x7fffff);
+ uint32_t x125 = (x120 + x88);
+ uint32_t x126 = (x125 >> 0x17);
+ uint32_t x127 = (x125 & 0x7fffff);
+ uint32_t x128 = (x123 + x83);
+ uint32_t x129 = (x128 >> 0x17);
+ uint32_t x130 = (x128 & 0x7fffff);
+ uint32_t x131 = ((0x800000 * x126) + x127);
+ uint32_t x132 = (x131 >> 0x17);
+ uint32_t x133 = (x131 & 0x7fffff);
+ uint32_t x134 = ((x129 + x91) + x132);
+ uint32_t x135 = (x134 >> 0x17);
+ uint32_t x136 = (x134 & 0x7fffff);
+ uint32_t x137 = (x94 + x132);
+ uint32_t x138 = (x137 >> 0x17);
+ uint32_t x139 = (x137 & 0x7fffff);
+ return (Return x133, Return x121, Return x115, Return x109, Return x103, (x135 + x97), Return x136, Return x130, Return x124, Return x118, Return x112, Return x106, (x138 + x100), Return x139))
+(x, x0)%core
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e322m2e161m1/fesquareDisplay.log b/src/Specific/solinas32_2e322m2e161m1/fesquareDisplay.log
new file mode 100644
index 000000000..6b4e29e41
--- /dev/null
+++ b/src/Specific/solinas32_2e322m2e161m1/fesquareDisplay.log
@@ -0,0 +1,91 @@
+λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+Interp-η
+(λ var : Syntax.base_type → Type,
+ λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
+ uint64_t x27 = (((uint64_t)(x14 + x25) * (x14 + x25)) - ((uint64_t)x14 * x14));
+ uint64_t x28 = ((((uint64_t)(x12 + x26) * (x14 + x25)) + ((uint64_t)(x14 + x25) * (x12 + x26))) - (((uint64_t)x12 * x14) + ((uint64_t)x14 * x12)));
+ uint64_t x29 = ((((uint64_t)(x10 + x24) * (x14 + x25)) + (((uint64_t)(x12 + x26) * (x12 + x26)) + ((uint64_t)(x14 + x25) * (x10 + x24)))) - (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + ((uint64_t)x14 * x10))));
+ uint64_t x30 = ((((uint64_t)(x8 + x22) * (x14 + x25)) + (((uint64_t)(x10 + x24) * (x12 + x26)) + (((uint64_t)(x12 + x26) * (x10 + x24)) + ((uint64_t)(x14 + x25) * (x8 + x22))))) - (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x14 * x8)))));
+ uint64_t x31 = ((((uint64_t)(x6 + x20) * (x14 + x25)) + (((uint64_t)(x8 + x22) * (x12 + x26)) + (((uint64_t)(x10 + x24) * (x10 + x24)) + (((uint64_t)(x12 + x26) * (x8 + x22)) + ((uint64_t)(x14 + x25) * (x6 + x20)))))) - (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((uint64_t)x14 * x6))))));
+ uint64_t x32 = ((((uint64_t)(x4 + x18) * (x14 + x25)) + (((uint64_t)(x6 + x20) * (x12 + x26)) + (((uint64_t)(x8 + x22) * (x10 + x24)) + (((uint64_t)(x10 + x24) * (x8 + x22)) + (((uint64_t)(x12 + x26) * (x6 + x20)) + ((uint64_t)(x14 + x25) * (x4 + x18))))))) - (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + ((uint64_t)x14 * x4)))))));
+ uint64_t x33 = ((((uint64_t)(x2 + x16) * (x14 + x25)) + (((uint64_t)(x4 + x18) * (x12 + x26)) + (((uint64_t)(x6 + x20) * (x10 + x24)) + (((uint64_t)(x8 + x22) * (x8 + x22)) + (((uint64_t)(x10 + x24) * (x6 + x20)) + (((uint64_t)(x12 + x26) * (x4 + x18)) + ((uint64_t)(x14 + x25) * (x2 + x16)))))))) - (((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))));
+ uint64_t x34 = ((((uint64_t)(x2 + x16) * (x12 + x26)) + (((uint64_t)(x4 + x18) * (x10 + x24)) + (((uint64_t)(x6 + x20) * (x8 + x22)) + (((uint64_t)(x8 + x22) * (x6 + x20)) + (((uint64_t)(x10 + x24) * (x4 + x18)) + ((uint64_t)(x12 + x26) * (x2 + x16))))))) - (((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))));
+ uint64_t x35 = ((((uint64_t)(x2 + x16) * (x10 + x24)) + (((uint64_t)(x4 + x18) * (x8 + x22)) + (((uint64_t)(x6 + x20) * (x6 + x20)) + (((uint64_t)(x8 + x22) * (x4 + x18)) + ((uint64_t)(x10 + x24) * (x2 + x16)))))) - (((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))));
+ uint64_t x36 = ((((uint64_t)(x2 + x16) * (x8 + x22)) + (((uint64_t)(x4 + x18) * (x6 + x20)) + (((uint64_t)(x6 + x20) * (x4 + x18)) + ((uint64_t)(x8 + x22) * (x2 + x16))))) - (((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))));
+ uint64_t x37 = ((((uint64_t)(x2 + x16) * (x6 + x20)) + (((uint64_t)(x4 + x18) * (x4 + x18)) + ((uint64_t)(x6 + x20) * (x2 + x16)))) - (((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))));
+ uint64_t x38 = ((((uint64_t)(x2 + x16) * (x4 + x18)) + ((uint64_t)(x4 + x18) * (x2 + x16))) - (((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)));
+ uint64_t x39 = (((uint64_t)(x2 + x16) * (x2 + x16)) - ((uint64_t)x2 * x2));
+ uint64_t x40 = (((((uint64_t)x14 * x14) + ((uint64_t)x25 * x25)) + x34) + x27);
+ uint64_t x41 = ((((((uint64_t)x12 * x14) + ((uint64_t)x14 * x12)) + (((uint64_t)x26 * x25) + ((uint64_t)x25 * x26))) + x35) + x28);
+ uint64_t x42 = ((((((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + ((uint64_t)x14 * x10))) + (((uint64_t)x24 * x25) + (((uint64_t)x26 * x26) + ((uint64_t)x25 * x24)))) + x36) + x29);
+ uint64_t x43 = ((((((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + ((uint64_t)x14 * x8)))) + (((uint64_t)x22 * x25) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((uint64_t)x25 * x22))))) + x37) + x30);
+ uint64_t x44 = ((((((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + ((uint64_t)x14 * x6))))) + (((uint64_t)x20 * x25) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + ((uint64_t)x25 * x20)))))) + x38) + x31);
+ uint64_t x45 = ((((((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + ((uint64_t)x14 * x4)))))) + (((uint64_t)x18 * x25) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + ((uint64_t)x25 * x18))))))) + x39) + x32);
+ uint64_t x46 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (((uint64_t)x16 * x25) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((uint64_t)x25 * x16))))))));
+ uint64_t x47 = (((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x26 * x16))))))) + x27);
+ uint64_t x48 = (((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((uint64_t)x24 * x16)))))) + x28);
+ uint64_t x49 = (((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + ((uint64_t)x22 * x16))))) + x29);
+ uint64_t x50 = (((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + ((uint64_t)x20 * x16)))) + x30);
+ uint64_t x51 = (((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (((uint64_t)x16 * x18) + ((uint64_t)x18 * x16))) + x31);
+ uint64_t x52 = ((((uint64_t)x2 * x2) + ((uint64_t)x16 * x16)) + x32);
+ uint32_t x53 = (uint32_t) (x46 >> 0x17);
+ uint32_t x54 = ((uint32_t)x46 & 0x7fffff);
+ uint32_t x55 = (uint32_t) (x33 >> 0x17);
+ uint32_t x56 = ((uint32_t)x33 & 0x7fffff);
+ uint64_t x57 = (((uint64_t)0x800000 * x55) + x56);
+ uint32_t x58 = (uint32_t) (x57 >> 0x17);
+ uint32_t x59 = ((uint32_t)x57 & 0x7fffff);
+ uint64_t x60 = ((x53 + x45) + x58);
+ uint32_t x61 = (uint32_t) (x60 >> 0x17);
+ uint32_t x62 = ((uint32_t)x60 & 0x7fffff);
+ uint64_t x63 = (x52 + x58);
+ uint32_t x64 = (uint32_t) (x63 >> 0x17);
+ uint32_t x65 = ((uint32_t)x63 & 0x7fffff);
+ uint64_t x66 = (x61 + x44);
+ uint32_t x67 = (uint32_t) (x66 >> 0x17);
+ uint32_t x68 = ((uint32_t)x66 & 0x7fffff);
+ uint64_t x69 = (x64 + x51);
+ uint32_t x70 = (uint32_t) (x69 >> 0x17);
+ uint32_t x71 = ((uint32_t)x69 & 0x7fffff);
+ uint64_t x72 = (x67 + x43);
+ uint32_t x73 = (uint32_t) (x72 >> 0x17);
+ uint32_t x74 = ((uint32_t)x72 & 0x7fffff);
+ uint64_t x75 = (x70 + x50);
+ uint32_t x76 = (uint32_t) (x75 >> 0x17);
+ uint32_t x77 = ((uint32_t)x75 & 0x7fffff);
+ uint64_t x78 = (x73 + x42);
+ uint32_t x79 = (uint32_t) (x78 >> 0x17);
+ uint32_t x80 = ((uint32_t)x78 & 0x7fffff);
+ uint64_t x81 = (x76 + x49);
+ uint32_t x82 = (uint32_t) (x81 >> 0x17);
+ uint32_t x83 = ((uint32_t)x81 & 0x7fffff);
+ uint64_t x84 = (x79 + x41);
+ uint32_t x85 = (uint32_t) (x84 >> 0x17);
+ uint32_t x86 = ((uint32_t)x84 & 0x7fffff);
+ uint64_t x87 = (x82 + x48);
+ uint32_t x88 = (uint32_t) (x87 >> 0x17);
+ uint32_t x89 = ((uint32_t)x87 & 0x7fffff);
+ uint64_t x90 = (x85 + x40);
+ uint32_t x91 = (uint32_t) (x90 >> 0x17);
+ uint32_t x92 = ((uint32_t)x90 & 0x7fffff);
+ uint64_t x93 = (x88 + x47);
+ uint32_t x94 = (uint32_t) (x93 >> 0x17);
+ uint32_t x95 = ((uint32_t)x93 & 0x7fffff);
+ uint32_t x96 = (x91 + x59);
+ uint32_t x97 = (x96 >> 0x17);
+ uint32_t x98 = (x96 & 0x7fffff);
+ uint32_t x99 = (x94 + x54);
+ uint32_t x100 = (x99 >> 0x17);
+ uint32_t x101 = (x99 & 0x7fffff);
+ uint32_t x102 = ((0x800000 * x97) + x98);
+ uint32_t x103 = (x102 >> 0x17);
+ uint32_t x104 = (x102 & 0x7fffff);
+ uint32_t x105 = ((x100 + x62) + x103);
+ uint32_t x106 = (x105 >> 0x17);
+ uint32_t x107 = (x105 & 0x7fffff);
+ uint32_t x108 = (x65 + x103);
+ uint32_t x109 = (x108 >> 0x17);
+ uint32_t x110 = (x108 & 0x7fffff);
+ return (Return x104, Return x92, Return x86, Return x80, Return x74, (x106 + x68), Return x107, Return x101, Return x95, Return x89, Return x83, Return x77, (x109 + x71), Return x110))
+x
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e322m2e161m1/freezeDisplay.log b/src/Specific/solinas32_2e322m2e161m1/freezeDisplay.log
index 78fdd3d17..f41f9ced4 100644
--- a/src/Specific/solinas32_2e322m2e161m1/freezeDisplay.log
+++ b/src/Specific/solinas32_2e322m2e161m1/freezeDisplay.log
@@ -17,33 +17,33 @@ Interp-η
uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x26, 0x7fffff);
uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x25, 0x7fffff);
uint32_t x69 = (uint32_t)cmovznz(x68, 0x0, 0xffffffff);
- uint32_t x70 = x69 & 0x7fffff;
+ uint32_t x70 = (x69 & 0x7fffff);
uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x28, Return x70);
- uint32_t x74 = x69 & 0x7fffff;
+ uint32_t x74 = (x69 & 0x7fffff);
uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x31, Return x74);
- uint32_t x78 = x69 & 0x7fffff;
+ uint32_t x78 = (x69 & 0x7fffff);
uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x34, Return x78);
- uint32_t x82 = x69 & 0x7fffff;
+ uint32_t x82 = (x69 & 0x7fffff);
uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x37, Return x82);
- uint32_t x86 = x69 & 0x7fffff;
+ uint32_t x86 = (x69 & 0x7fffff);
uint32_t x88, uint8_t x89 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x40, Return x86);
- uint32_t x90 = x69 & 0x7fffff;
+ uint32_t x90 = (x69 & 0x7fffff);
uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x43, Return x90);
- uint32_t x94 = x69 & 0x7fffff;
+ uint32_t x94 = (x69 & 0x7fffff);
uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x46, Return x94);
- uint32_t x98 = x69 & 0x7ffffe;
+ uint32_t x98 = (x69 & 0x7ffffe);
uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x49, Return x98);
- uint32_t x102 = x69 & 0x7fffff;
+ uint32_t x102 = (x69 & 0x7fffff);
uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x52, Return x102);
- uint32_t x106 = x69 & 0x7fffff;
+ uint32_t x106 = (x69 & 0x7fffff);
uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x55, Return x106);
- uint32_t x110 = x69 & 0x7fffff;
+ uint32_t x110 = (x69 & 0x7fffff);
uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x58, Return x110);
- uint32_t x114 = x69 & 0x7fffff;
+ uint32_t x114 = (x69 & 0x7fffff);
uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x61, Return x114);
- uint32_t x118 = x69 & 0x7fffff;
+ uint32_t x118 = (x69 & 0x7fffff);
uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x64, Return x118);
- uint32_t x122 = x69 & 0x7fffff;
+ uint32_t x122 = (x69 & 0x7fffff);
uint32_t x124, uint8_t _ = Op (Syntax.AddWithGetCarry 23 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x67, Return x122);
(Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92, Return x88, Return x84, Return x80, Return x76, Return x72))
x
diff --git a/src/Specific/solinas32_2e336m17/femulDisplay.log b/src/Specific/solinas32_2e336m17/femulDisplay.log
index 5fe0b103a..d47b7bb6b 100644
--- a/src/Specific/solinas32_2e336m17/femulDisplay.log
+++ b/src/Specific/solinas32_2e336m17/femulDisplay.log
@@ -2,67 +2,67 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
- uint64_t x56 = (uint64_t) x5 * x54 + ((uint64_t) x7 * x55 + ((uint64_t) x9 * x53 + ((uint64_t) x11 * x51 + ((uint64_t) x13 * x49 + ((uint64_t) x15 * x47 + ((uint64_t) x17 * x45 + ((uint64_t) x19 * x43 + ((uint64_t) x21 * x41 + ((uint64_t) x23 * x39 + ((uint64_t) x25 * x37 + ((uint64_t) x27 * x35 + ((uint64_t) x29 * x33 + (uint64_t) x28 * x31))))))))))));
- uint64_t x57 = (uint64_t) x5 * x55 + ((uint64_t) x7 * x53 + ((uint64_t) x9 * x51 + ((uint64_t) x11 * x49 + ((uint64_t) x13 * x47 + ((uint64_t) x15 * x45 + ((uint64_t) x17 * x43 + ((uint64_t) x19 * x41 + ((uint64_t) x21 * x39 + ((uint64_t) x23 * x37 + ((uint64_t) x25 * x35 + ((uint64_t) x27 * x33 + (uint64_t) x29 * x31))))))))))) + 0x11 * ((uint64_t) x28 * x54);
- uint64_t x58 = (uint64_t) x5 * x53 + ((uint64_t) x7 * x51 + ((uint64_t) x9 * x49 + ((uint64_t) x11 * x47 + ((uint64_t) x13 * x45 + ((uint64_t) x15 * x43 + ((uint64_t) x17 * x41 + ((uint64_t) x19 * x39 + ((uint64_t) x21 * x37 + ((uint64_t) x23 * x35 + ((uint64_t) x25 * x33 + (uint64_t) x27 * x31)))))))))) + 0x11 * ((uint64_t) x29 * x54 + (uint64_t) x28 * x55);
- uint64_t x59 = (uint64_t) x5 * x51 + ((uint64_t) x7 * x49 + ((uint64_t) x9 * x47 + ((uint64_t) x11 * x45 + ((uint64_t) x13 * x43 + ((uint64_t) x15 * x41 + ((uint64_t) x17 * x39 + ((uint64_t) x19 * x37 + ((uint64_t) x21 * x35 + ((uint64_t) x23 * x33 + (uint64_t) x25 * x31))))))))) + 0x11 * ((uint64_t) x27 * x54 + ((uint64_t) x29 * x55 + (uint64_t) x28 * x53));
- uint64_t x60 = (uint64_t) x5 * x49 + ((uint64_t) x7 * x47 + ((uint64_t) x9 * x45 + ((uint64_t) x11 * x43 + ((uint64_t) x13 * x41 + ((uint64_t) x15 * x39 + ((uint64_t) x17 * x37 + ((uint64_t) x19 * x35 + ((uint64_t) x21 * x33 + (uint64_t) x23 * x31)))))))) + 0x11 * ((uint64_t) x25 * x54 + ((uint64_t) x27 * x55 + ((uint64_t) x29 * x53 + (uint64_t) x28 * x51)));
- uint64_t x61 = (uint64_t) x5 * x47 + ((uint64_t) x7 * x45 + ((uint64_t) x9 * x43 + ((uint64_t) x11 * x41 + ((uint64_t) x13 * x39 + ((uint64_t) x15 * x37 + ((uint64_t) x17 * x35 + ((uint64_t) x19 * x33 + (uint64_t) x21 * x31))))))) + 0x11 * ((uint64_t) x23 * x54 + ((uint64_t) x25 * x55 + ((uint64_t) x27 * x53 + ((uint64_t) x29 * x51 + (uint64_t) x28 * x49))));
- uint64_t x62 = (uint64_t) x5 * x45 + ((uint64_t) x7 * x43 + ((uint64_t) x9 * x41 + ((uint64_t) x11 * x39 + ((uint64_t) x13 * x37 + ((uint64_t) x15 * x35 + ((uint64_t) x17 * x33 + (uint64_t) x19 * x31)))))) + 0x11 * ((uint64_t) x21 * x54 + ((uint64_t) x23 * x55 + ((uint64_t) x25 * x53 + ((uint64_t) x27 * x51 + ((uint64_t) x29 * x49 + (uint64_t) x28 * x47)))));
- uint64_t x63 = (uint64_t) x5 * x43 + ((uint64_t) x7 * x41 + ((uint64_t) x9 * x39 + ((uint64_t) x11 * x37 + ((uint64_t) x13 * x35 + ((uint64_t) x15 * x33 + (uint64_t) x17 * x31))))) + 0x11 * ((uint64_t) x19 * x54 + ((uint64_t) x21 * x55 + ((uint64_t) x23 * x53 + ((uint64_t) x25 * x51 + ((uint64_t) x27 * x49 + ((uint64_t) x29 * x47 + (uint64_t) x28 * x45))))));
- uint64_t x64 = (uint64_t) x5 * x41 + ((uint64_t) x7 * x39 + ((uint64_t) x9 * x37 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + (uint64_t) x15 * x31)))) + 0x11 * ((uint64_t) x17 * x54 + ((uint64_t) x19 * x55 + ((uint64_t) x21 * x53 + ((uint64_t) x23 * x51 + ((uint64_t) x25 * x49 + ((uint64_t) x27 * x47 + ((uint64_t) x29 * x45 + (uint64_t) x28 * x43)))))));
- uint64_t x65 = (uint64_t) x5 * x39 + ((uint64_t) x7 * x37 + ((uint64_t) x9 * x35 + ((uint64_t) x11 * x33 + (uint64_t) x13 * x31))) + 0x11 * ((uint64_t) x15 * x54 + ((uint64_t) x17 * x55 + ((uint64_t) x19 * x53 + ((uint64_t) x21 * x51 + ((uint64_t) x23 * x49 + ((uint64_t) x25 * x47 + ((uint64_t) x27 * x45 + ((uint64_t) x29 * x43 + (uint64_t) x28 * x41))))))));
- uint64_t x66 = (uint64_t) x5 * x37 + ((uint64_t) x7 * x35 + ((uint64_t) x9 * x33 + (uint64_t) x11 * x31)) + 0x11 * ((uint64_t) x13 * x54 + ((uint64_t) x15 * x55 + ((uint64_t) x17 * x53 + ((uint64_t) x19 * x51 + ((uint64_t) x21 * x49 + ((uint64_t) x23 * x47 + ((uint64_t) x25 * x45 + ((uint64_t) x27 * x43 + ((uint64_t) x29 * x41 + (uint64_t) x28 * x39)))))))));
- uint64_t x67 = (uint64_t) x5 * x35 + ((uint64_t) x7 * x33 + (uint64_t) x9 * x31) + 0x11 * ((uint64_t) x11 * x54 + ((uint64_t) x13 * x55 + ((uint64_t) x15 * x53 + ((uint64_t) x17 * x51 + ((uint64_t) x19 * x49 + ((uint64_t) x21 * x47 + ((uint64_t) x23 * x45 + ((uint64_t) x25 * x43 + ((uint64_t) x27 * x41 + ((uint64_t) x29 * x39 + (uint64_t) x28 * x37))))))))));
- uint64_t x68 = (uint64_t) x5 * x33 + (uint64_t) x7 * x31 + 0x11 * ((uint64_t) x9 * x54 + ((uint64_t) x11 * x55 + ((uint64_t) x13 * x53 + ((uint64_t) x15 * x51 + ((uint64_t) x17 * x49 + ((uint64_t) x19 * x47 + ((uint64_t) x21 * x45 + ((uint64_t) x23 * x43 + ((uint64_t) x25 * x41 + ((uint64_t) x27 * x39 + ((uint64_t) x29 * x37 + (uint64_t) x28 * x35)))))))))));
- uint64_t x69 = (uint64_t) x5 * x31 + 0x11 * ((uint64_t) x7 * x54 + ((uint64_t) x9 * x55 + ((uint64_t) x11 * x53 + ((uint64_t) x13 * x51 + ((uint64_t) x15 * x49 + ((uint64_t) x17 * x47 + ((uint64_t) x19 * x45 + ((uint64_t) x21 * x43 + ((uint64_t) x23 * x41 + ((uint64_t) x25 * x39 + ((uint64_t) x27 * x37 + ((uint64_t) x29 * x35 + (uint64_t) x28 * x33))))))))))));
- uint64_t x70 = x69 >> 0x18;
- uint32_t x71 = (uint32_t) x69 & 0xffffff;
- uint64_t x72 = x70 + x68;
- uint64_t x73 = x72 >> 0x18;
- uint32_t x74 = (uint32_t) x72 & 0xffffff;
- uint64_t x75 = x73 + x67;
- uint32_t x76 = (uint32_t) (x75 >> 0x18);
- uint32_t x77 = (uint32_t) x75 & 0xffffff;
- uint64_t x78 = x76 + x66;
- uint32_t x79 = (uint32_t) (x78 >> 0x18);
- uint32_t x80 = (uint32_t) x78 & 0xffffff;
- uint64_t x81 = x79 + x65;
- uint32_t x82 = (uint32_t) (x81 >> 0x18);
- uint32_t x83 = (uint32_t) x81 & 0xffffff;
- uint64_t x84 = x82 + x64;
- uint32_t x85 = (uint32_t) (x84 >> 0x18);
- uint32_t x86 = (uint32_t) x84 & 0xffffff;
- uint64_t x87 = x85 + x63;
- uint32_t x88 = (uint32_t) (x87 >> 0x18);
- uint32_t x89 = (uint32_t) x87 & 0xffffff;
- uint64_t x90 = x88 + x62;
- uint32_t x91 = (uint32_t) (x90 >> 0x18);
- uint32_t x92 = (uint32_t) x90 & 0xffffff;
- uint64_t x93 = x91 + x61;
- uint32_t x94 = (uint32_t) (x93 >> 0x18);
- uint32_t x95 = (uint32_t) x93 & 0xffffff;
- uint64_t x96 = x94 + x60;
- uint32_t x97 = (uint32_t) (x96 >> 0x18);
- uint32_t x98 = (uint32_t) x96 & 0xffffff;
- uint64_t x99 = x97 + x59;
- uint32_t x100 = (uint32_t) (x99 >> 0x18);
- uint32_t x101 = (uint32_t) x99 & 0xffffff;
- uint64_t x102 = x100 + x58;
- uint32_t x103 = (uint32_t) (x102 >> 0x18);
- uint32_t x104 = (uint32_t) x102 & 0xffffff;
- uint64_t x105 = x103 + x57;
- uint32_t x106 = (uint32_t) (x105 >> 0x18);
- uint32_t x107 = (uint32_t) x105 & 0xffffff;
- uint64_t x108 = x106 + x56;
+ uint64_t x56 = (((uint64_t)x5 * x54) + (((uint64_t)x7 * x55) + (((uint64_t)x9 * x53) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + (((uint64_t)x27 * x35) + (((uint64_t)x29 * x33) + ((uint64_t)x28 * x31))))))))))))));
+ uint64_t x57 = ((((uint64_t)x5 * x55) + (((uint64_t)x7 * x53) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + (((uint64_t)x27 * x33) + ((uint64_t)x29 * x31))))))))))))) + (0x11 * ((uint64_t)x28 * x54)));
+ uint64_t x58 = ((((uint64_t)x5 * x53) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x27 * x31)))))))))))) + (0x11 * (((uint64_t)x29 * x54) + ((uint64_t)x28 * x55))));
+ uint64_t x59 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + (((uint64_t)x21 * x35) + (((uint64_t)x23 * x33) + ((uint64_t)x25 * x31))))))))))) + (0x11 * (((uint64_t)x27 * x54) + (((uint64_t)x29 * x55) + ((uint64_t)x28 * x53)))));
+ uint64_t x60 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + ((uint64_t)x23 * x31)))))))))) + (0x11 * (((uint64_t)x25 * x54) + (((uint64_t)x27 * x55) + (((uint64_t)x29 * x53) + ((uint64_t)x28 * x51))))));
+ uint64_t x61 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + ((uint64_t)x21 * x31))))))))) + (0x11 * (((uint64_t)x23 * x54) + (((uint64_t)x25 * x55) + (((uint64_t)x27 * x53) + (((uint64_t)x29 * x51) + ((uint64_t)x28 * x49)))))));
+ uint64_t x62 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + ((uint64_t)x19 * x31)))))))) + (0x11 * (((uint64_t)x21 * x54) + (((uint64_t)x23 * x55) + (((uint64_t)x25 * x53) + (((uint64_t)x27 * x51) + (((uint64_t)x29 * x49) + ((uint64_t)x28 * x47))))))));
+ uint64_t x63 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + ((uint64_t)x17 * x31))))))) + (0x11 * (((uint64_t)x19 * x54) + (((uint64_t)x21 * x55) + (((uint64_t)x23 * x53) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + (((uint64_t)x29 * x47) + ((uint64_t)x28 * x45)))))))));
+ uint64_t x64 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + ((uint64_t)x15 * x31)))))) + (0x11 * (((uint64_t)x17 * x54) + (((uint64_t)x19 * x55) + (((uint64_t)x21 * x53) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + (((uint64_t)x29 * x45) + ((uint64_t)x28 * x43))))))))));
+ uint64_t x65 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + ((uint64_t)x13 * x31))))) + (0x11 * (((uint64_t)x15 * x54) + (((uint64_t)x17 * x55) + (((uint64_t)x19 * x53) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + (((uint64_t)x29 * x43) + ((uint64_t)x28 * x41)))))))))));
+ uint64_t x66 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + ((uint64_t)x11 * x31)))) + (0x11 * (((uint64_t)x13 * x54) + (((uint64_t)x15 * x55) + (((uint64_t)x17 * x53) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + (((uint64_t)x29 * x41) + ((uint64_t)x28 * x39))))))))))));
+ uint64_t x67 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + ((uint64_t)x9 * x31))) + (0x11 * (((uint64_t)x11 * x54) + (((uint64_t)x13 * x55) + (((uint64_t)x15 * x53) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + (((uint64_t)x29 * x39) + ((uint64_t)x28 * x37)))))))))))));
+ uint64_t x68 = ((((uint64_t)x5 * x33) + ((uint64_t)x7 * x31)) + (0x11 * (((uint64_t)x9 * x54) + (((uint64_t)x11 * x55) + (((uint64_t)x13 * x53) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + (((uint64_t)x29 * x37) + ((uint64_t)x28 * x35))))))))))))));
+ uint64_t x69 = (((uint64_t)x5 * x31) + (0x11 * (((uint64_t)x7 * x54) + (((uint64_t)x9 * x55) + (((uint64_t)x11 * x53) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + (((uint64_t)x29 * x35) + ((uint64_t)x28 * x33)))))))))))))));
+ uint64_t x70 = (x69 >> 0x18);
+ uint32_t x71 = ((uint32_t)x69 & 0xffffff);
+ uint64_t x72 = (x70 + x68);
+ uint64_t x73 = (x72 >> 0x18);
+ uint32_t x74 = ((uint32_t)x72 & 0xffffff);
+ uint64_t x75 = (x73 + x67);
+ uint64_t x76 = (x75 >> 0x18);
+ uint32_t x77 = ((uint32_t)x75 & 0xffffff);
+ uint64_t x78 = (x76 + x66);
+ uint64_t x79 = (x78 >> 0x18);
+ uint32_t x80 = ((uint32_t)x78 & 0xffffff);
+ uint64_t x81 = (x79 + x65);
+ uint64_t x82 = (x81 >> 0x18);
+ uint32_t x83 = ((uint32_t)x81 & 0xffffff);
+ uint64_t x84 = (x82 + x64);
+ uint64_t x85 = (x84 >> 0x18);
+ uint32_t x86 = ((uint32_t)x84 & 0xffffff);
+ uint64_t x87 = (x85 + x63);
+ uint64_t x88 = (x87 >> 0x18);
+ uint32_t x89 = ((uint32_t)x87 & 0xffffff);
+ uint64_t x90 = (x88 + x62);
+ uint64_t x91 = (x90 >> 0x18);
+ uint32_t x92 = ((uint32_t)x90 & 0xffffff);
+ uint64_t x93 = (x91 + x61);
+ uint64_t x94 = (x93 >> 0x18);
+ uint32_t x95 = ((uint32_t)x93 & 0xffffff);
+ uint64_t x96 = (x94 + x60);
+ uint64_t x97 = (x96 >> 0x18);
+ uint32_t x98 = ((uint32_t)x96 & 0xffffff);
+ uint64_t x99 = (x97 + x59);
+ uint64_t x100 = (x99 >> 0x18);
+ uint32_t x101 = ((uint32_t)x99 & 0xffffff);
+ uint64_t x102 = (x100 + x58);
+ uint64_t x103 = (x102 >> 0x18);
+ uint32_t x104 = ((uint32_t)x102 & 0xffffff);
+ uint64_t x105 = (x103 + x57);
+ uint64_t x106 = (x105 >> 0x18);
+ uint32_t x107 = ((uint32_t)x105 & 0xffffff);
+ uint64_t x108 = (x106 + x56);
uint32_t x109 = (uint32_t) (x108 >> 0x18);
- uint32_t x110 = (uint32_t) x108 & 0xffffff;
- uint64_t x111 = x71 + (uint64_t) 0x11 * x109;
+ uint32_t x110 = ((uint32_t)x108 & 0xffffff);
+ uint64_t x111 = (x71 + ((uint64_t)0x11 * x109));
uint32_t x112 = (uint32_t) (x111 >> 0x18);
- uint32_t x113 = (uint32_t) x111 & 0xffffff;
- uint32_t x114 = x112 + x74;
- uint32_t x115 = x114 >> 0x18;
- uint32_t x116 = x114 & 0xffffff;
- return (Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, Return x92, Return x89, Return x86, Return x83, Return x80, x115 + x77, Return x116, Return x113))
+ uint32_t x113 = ((uint32_t)x111 & 0xffffff);
+ uint32_t x114 = (x112 + x74);
+ uint32_t x115 = (x114 >> 0x18);
+ uint32_t x116 = (x114 & 0xffffff);
+ return (Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, Return x92, Return x89, Return x86, Return x83, Return x80, (x115 + x77), Return x116, Return x113))
(x, x0)%core
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e336m17/fesquareDisplay.log b/src/Specific/solinas32_2e336m17/fesquareDisplay.log
index e7288d5a8..392aa9c3a 100644
--- a/src/Specific/solinas32_2e336m17/fesquareDisplay.log
+++ b/src/Specific/solinas32_2e336m17/fesquareDisplay.log
@@ -2,67 +2,67 @@
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x27 = (uint64_t) x2 * x25 + ((uint64_t) x4 * x26 + ((uint64_t) x6 * x24 + ((uint64_t) x8 * x22 + ((uint64_t) x10 * x20 + ((uint64_t) x12 * x18 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + ((uint64_t) x18 * x12 + ((uint64_t) x20 * x10 + ((uint64_t) x22 * x8 + ((uint64_t) x24 * x6 + ((uint64_t) x26 * x4 + (uint64_t) x25 * x2))))))))))));
- uint64_t x28 = (uint64_t) x2 * x26 + ((uint64_t) x4 * x24 + ((uint64_t) x6 * x22 + ((uint64_t) x8 * x20 + ((uint64_t) x10 * x18 + ((uint64_t) x12 * x16 + ((uint64_t) x14 * x14 + ((uint64_t) x16 * x12 + ((uint64_t) x18 * x10 + ((uint64_t) x20 * x8 + ((uint64_t) x22 * x6 + ((uint64_t) x24 * x4 + (uint64_t) x26 * x2))))))))))) + 0x11 * ((uint64_t) x25 * x25);
- uint64_t x29 = (uint64_t) x2 * x24 + ((uint64_t) x4 * x22 + ((uint64_t) x6 * x20 + ((uint64_t) x8 * x18 + ((uint64_t) x10 * x16 + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + ((uint64_t) x16 * x10 + ((uint64_t) x18 * x8 + ((uint64_t) x20 * x6 + ((uint64_t) x22 * x4 + (uint64_t) x24 * x2)))))))))) + 0x11 * ((uint64_t) x26 * x25 + (uint64_t) x25 * x26);
- uint64_t x30 = (uint64_t) x2 * x22 + ((uint64_t) x4 * x20 + ((uint64_t) x6 * x18 + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + ((uint64_t) x18 * x6 + ((uint64_t) x20 * x4 + (uint64_t) x22 * x2))))))))) + 0x11 * ((uint64_t) x24 * x25 + ((uint64_t) x26 * x26 + (uint64_t) x25 * x24));
- uint64_t x31 = (uint64_t) x2 * x20 + ((uint64_t) x4 * x18 + ((uint64_t) x6 * x16 + ((uint64_t) x8 * x14 + ((uint64_t) x10 * x12 + ((uint64_t) x12 * x10 + ((uint64_t) x14 * x8 + ((uint64_t) x16 * x6 + ((uint64_t) x18 * x4 + (uint64_t) x20 * x2)))))))) + 0x11 * ((uint64_t) x22 * x25 + ((uint64_t) x24 * x26 + ((uint64_t) x26 * x24 + (uint64_t) x25 * x22)));
- uint64_t x32 = (uint64_t) x2 * x18 + ((uint64_t) x4 * x16 + ((uint64_t) x6 * x14 + ((uint64_t) x8 * x12 + ((uint64_t) x10 * x10 + ((uint64_t) x12 * x8 + ((uint64_t) x14 * x6 + ((uint64_t) x16 * x4 + (uint64_t) x18 * x2))))))) + 0x11 * ((uint64_t) x20 * x25 + ((uint64_t) x22 * x26 + ((uint64_t) x24 * x24 + ((uint64_t) x26 * x22 + (uint64_t) x25 * x20))));
- uint64_t x33 = (uint64_t) x2 * x16 + ((uint64_t) x4 * x14 + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + ((uint64_t) x14 * x4 + (uint64_t) x16 * x2)))))) + 0x11 * ((uint64_t) x18 * x25 + ((uint64_t) x20 * x26 + ((uint64_t) x22 * x24 + ((uint64_t) x24 * x22 + ((uint64_t) x26 * x20 + (uint64_t) x25 * x18)))));
- uint64_t x34 = (uint64_t) x2 * x14 + ((uint64_t) x4 * x12 + ((uint64_t) x6 * x10 + ((uint64_t) x8 * x8 + ((uint64_t) x10 * x6 + ((uint64_t) x12 * x4 + (uint64_t) x14 * x2))))) + 0x11 * ((uint64_t) x16 * x25 + ((uint64_t) x18 * x26 + ((uint64_t) x20 * x24 + ((uint64_t) x22 * x22 + ((uint64_t) x24 * x20 + ((uint64_t) x26 * x18 + (uint64_t) x25 * x16))))));
- uint64_t x35 = (uint64_t) x2 * x12 + ((uint64_t) x4 * x10 + ((uint64_t) x6 * x8 + ((uint64_t) x8 * x6 + ((uint64_t) x10 * x4 + (uint64_t) x12 * x2)))) + 0x11 * ((uint64_t) x14 * x25 + ((uint64_t) x16 * x26 + ((uint64_t) x18 * x24 + ((uint64_t) x20 * x22 + ((uint64_t) x22 * x20 + ((uint64_t) x24 * x18 + ((uint64_t) x26 * x16 + (uint64_t) x25 * x14)))))));
- uint64_t x36 = (uint64_t) x2 * x10 + ((uint64_t) x4 * x8 + ((uint64_t) x6 * x6 + ((uint64_t) x8 * x4 + (uint64_t) x10 * x2))) + 0x11 * ((uint64_t) x12 * x25 + ((uint64_t) x14 * x26 + ((uint64_t) x16 * x24 + ((uint64_t) x18 * x22 + ((uint64_t) x20 * x20 + ((uint64_t) x22 * x18 + ((uint64_t) x24 * x16 + ((uint64_t) x26 * x14 + (uint64_t) x25 * x12))))))));
- uint64_t x37 = (uint64_t) x2 * x8 + ((uint64_t) x4 * x6 + ((uint64_t) x6 * x4 + (uint64_t) x8 * x2)) + 0x11 * ((uint64_t) x10 * x25 + ((uint64_t) x12 * x26 + ((uint64_t) x14 * x24 + ((uint64_t) x16 * x22 + ((uint64_t) x18 * x20 + ((uint64_t) x20 * x18 + ((uint64_t) x22 * x16 + ((uint64_t) x24 * x14 + ((uint64_t) x26 * x12 + (uint64_t) x25 * x10)))))))));
- uint64_t x38 = (uint64_t) x2 * x6 + ((uint64_t) x4 * x4 + (uint64_t) x6 * x2) + 0x11 * ((uint64_t) x8 * x25 + ((uint64_t) x10 * x26 + ((uint64_t) x12 * x24 + ((uint64_t) x14 * x22 + ((uint64_t) x16 * x20 + ((uint64_t) x18 * x18 + ((uint64_t) x20 * x16 + ((uint64_t) x22 * x14 + ((uint64_t) x24 * x12 + ((uint64_t) x26 * x10 + (uint64_t) x25 * x8))))))))));
- uint64_t x39 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x11 * ((uint64_t) x6 * x25 + ((uint64_t) x8 * x26 + ((uint64_t) x10 * x24 + ((uint64_t) x12 * x22 + ((uint64_t) x14 * x20 + ((uint64_t) x16 * x18 + ((uint64_t) x18 * x16 + ((uint64_t) x20 * x14 + ((uint64_t) x22 * x12 + ((uint64_t) x24 * x10 + ((uint64_t) x26 * x8 + (uint64_t) x25 * x6)))))))))));
- uint64_t x40 = (uint64_t) x2 * x2 + 0x11 * ((uint64_t) x4 * x25 + ((uint64_t) x6 * x26 + ((uint64_t) x8 * x24 + ((uint64_t) x10 * x22 + ((uint64_t) x12 * x20 + ((uint64_t) x14 * x18 + ((uint64_t) x16 * x16 + ((uint64_t) x18 * x14 + ((uint64_t) x20 * x12 + ((uint64_t) x22 * x10 + ((uint64_t) x24 * x8 + ((uint64_t) x26 * x6 + (uint64_t) x25 * x4))))))))))));
- uint64_t x41 = x40 >> 0x18;
- uint32_t x42 = (uint32_t) x40 & 0xffffff;
- uint64_t x43 = x41 + x39;
- uint64_t x44 = x43 >> 0x18;
- uint32_t x45 = (uint32_t) x43 & 0xffffff;
- uint64_t x46 = x44 + x38;
- uint32_t x47 = (uint32_t) (x46 >> 0x18);
- uint32_t x48 = (uint32_t) x46 & 0xffffff;
- uint64_t x49 = x47 + x37;
- uint32_t x50 = (uint32_t) (x49 >> 0x18);
- uint32_t x51 = (uint32_t) x49 & 0xffffff;
- uint64_t x52 = x50 + x36;
- uint32_t x53 = (uint32_t) (x52 >> 0x18);
- uint32_t x54 = (uint32_t) x52 & 0xffffff;
- uint64_t x55 = x53 + x35;
- uint32_t x56 = (uint32_t) (x55 >> 0x18);
- uint32_t x57 = (uint32_t) x55 & 0xffffff;
- uint64_t x58 = x56 + x34;
- uint32_t x59 = (uint32_t) (x58 >> 0x18);
- uint32_t x60 = (uint32_t) x58 & 0xffffff;
- uint64_t x61 = x59 + x33;
- uint32_t x62 = (uint32_t) (x61 >> 0x18);
- uint32_t x63 = (uint32_t) x61 & 0xffffff;
- uint64_t x64 = x62 + x32;
- uint32_t x65 = (uint32_t) (x64 >> 0x18);
- uint32_t x66 = (uint32_t) x64 & 0xffffff;
- uint64_t x67 = x65 + x31;
- uint32_t x68 = (uint32_t) (x67 >> 0x18);
- uint32_t x69 = (uint32_t) x67 & 0xffffff;
- uint64_t x70 = x68 + x30;
- uint32_t x71 = (uint32_t) (x70 >> 0x18);
- uint32_t x72 = (uint32_t) x70 & 0xffffff;
- uint64_t x73 = x71 + x29;
- uint32_t x74 = (uint32_t) (x73 >> 0x18);
- uint32_t x75 = (uint32_t) x73 & 0xffffff;
- uint64_t x76 = x74 + x28;
- uint32_t x77 = (uint32_t) (x76 >> 0x18);
- uint32_t x78 = (uint32_t) x76 & 0xffffff;
- uint64_t x79 = x77 + x27;
+ uint64_t x27 = (((uint64_t)x2 * x25) + (((uint64_t)x4 * x26) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + (((uint64_t)x26 * x4) + ((uint64_t)x25 * x2))))))))))))));
+ uint64_t x28 = ((((uint64_t)x2 * x26) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x26 * x2))))))))))))) + (0x11 * ((uint64_t)x25 * x25)));
+ uint64_t x29 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0x11 * (((uint64_t)x26 * x25) + ((uint64_t)x25 * x26))));
+ uint64_t x30 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x11 * (((uint64_t)x24 * x25) + (((uint64_t)x26 * x26) + ((uint64_t)x25 * x24)))));
+ uint64_t x31 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x11 * (((uint64_t)x22 * x25) + (((uint64_t)x24 * x26) + (((uint64_t)x26 * x24) + ((uint64_t)x25 * x22))))));
+ uint64_t x32 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x11 * (((uint64_t)x20 * x25) + (((uint64_t)x22 * x26) + (((uint64_t)x24 * x24) + (((uint64_t)x26 * x22) + ((uint64_t)x25 * x20)))))));
+ uint64_t x33 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x11 * (((uint64_t)x18 * x25) + (((uint64_t)x20 * x26) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + (((uint64_t)x26 * x20) + ((uint64_t)x25 * x18))))))));
+ uint64_t x34 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x11 * (((uint64_t)x16 * x25) + (((uint64_t)x18 * x26) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + (((uint64_t)x26 * x18) + ((uint64_t)x25 * x16)))))))));
+ uint64_t x35 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0x11 * (((uint64_t)x14 * x25) + (((uint64_t)x16 * x26) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + (((uint64_t)x26 * x16) + ((uint64_t)x25 * x14))))))))));
+ uint64_t x36 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0x11 * (((uint64_t)x12 * x25) + (((uint64_t)x14 * x26) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + (((uint64_t)x26 * x14) + ((uint64_t)x25 * x12)))))))))));
+ uint64_t x37 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0x11 * (((uint64_t)x10 * x25) + (((uint64_t)x12 * x26) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + (((uint64_t)x26 * x12) + ((uint64_t)x25 * x10))))))))))));
+ uint64_t x38 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0x11 * (((uint64_t)x8 * x25) + (((uint64_t)x10 * x26) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + (((uint64_t)x26 * x10) + ((uint64_t)x25 * x8)))))))))))));
+ uint64_t x39 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0x11 * (((uint64_t)x6 * x25) + (((uint64_t)x8 * x26) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + (((uint64_t)x26 * x8) + ((uint64_t)x25 * x6))))))))))))));
+ uint64_t x40 = (((uint64_t)x2 * x2) + (0x11 * (((uint64_t)x4 * x25) + (((uint64_t)x6 * x26) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + (((uint64_t)x26 * x6) + ((uint64_t)x25 * x4)))))))))))))));
+ uint64_t x41 = (x40 >> 0x18);
+ uint32_t x42 = ((uint32_t)x40 & 0xffffff);
+ uint64_t x43 = (x41 + x39);
+ uint64_t x44 = (x43 >> 0x18);
+ uint32_t x45 = ((uint32_t)x43 & 0xffffff);
+ uint64_t x46 = (x44 + x38);
+ uint64_t x47 = (x46 >> 0x18);
+ uint32_t x48 = ((uint32_t)x46 & 0xffffff);
+ uint64_t x49 = (x47 + x37);
+ uint64_t x50 = (x49 >> 0x18);
+ uint32_t x51 = ((uint32_t)x49 & 0xffffff);
+ uint64_t x52 = (x50 + x36);
+ uint64_t x53 = (x52 >> 0x18);
+ uint32_t x54 = ((uint32_t)x52 & 0xffffff);
+ uint64_t x55 = (x53 + x35);
+ uint64_t x56 = (x55 >> 0x18);
+ uint32_t x57 = ((uint32_t)x55 & 0xffffff);
+ uint64_t x58 = (x56 + x34);
+ uint64_t x59 = (x58 >> 0x18);
+ uint32_t x60 = ((uint32_t)x58 & 0xffffff);
+ uint64_t x61 = (x59 + x33);
+ uint64_t x62 = (x61 >> 0x18);
+ uint32_t x63 = ((uint32_t)x61 & 0xffffff);
+ uint64_t x64 = (x62 + x32);
+ uint64_t x65 = (x64 >> 0x18);
+ uint32_t x66 = ((uint32_t)x64 & 0xffffff);
+ uint64_t x67 = (x65 + x31);
+ uint64_t x68 = (x67 >> 0x18);
+ uint32_t x69 = ((uint32_t)x67 & 0xffffff);
+ uint64_t x70 = (x68 + x30);
+ uint64_t x71 = (x70 >> 0x18);
+ uint32_t x72 = ((uint32_t)x70 & 0xffffff);
+ uint64_t x73 = (x71 + x29);
+ uint64_t x74 = (x73 >> 0x18);
+ uint32_t x75 = ((uint32_t)x73 & 0xffffff);
+ uint64_t x76 = (x74 + x28);
+ uint64_t x77 = (x76 >> 0x18);
+ uint32_t x78 = ((uint32_t)x76 & 0xffffff);
+ uint64_t x79 = (x77 + x27);
uint32_t x80 = (uint32_t) (x79 >> 0x18);
- uint32_t x81 = (uint32_t) x79 & 0xffffff;
- uint64_t x82 = x42 + (uint64_t) 0x11 * x80;
+ uint32_t x81 = ((uint32_t)x79 & 0xffffff);
+ uint64_t x82 = (x42 + ((uint64_t)0x11 * x80));
uint32_t x83 = (uint32_t) (x82 >> 0x18);
- uint32_t x84 = (uint32_t) x82 & 0xffffff;
- uint32_t x85 = x83 + x45;
- uint32_t x86 = x85 >> 0x18;
- uint32_t x87 = x85 & 0xffffff;
- return (Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, x86 + x48, Return x87, Return x84))
+ uint32_t x84 = ((uint32_t)x82 & 0xffffff);
+ uint32_t x85 = (x83 + x45);
+ uint32_t x86 = (x85 >> 0x18);
+ uint32_t x87 = (x85 & 0xffffff);
+ return (Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, (x86 + x48), Return x87, Return x84))
x
: word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e336m17/freezeDisplay.log b/src/Specific/solinas32_2e336m17/freezeDisplay.log
index 86592a502..6ddcce0a9 100644
--- a/src/Specific/solinas32_2e336m17/freezeDisplay.log
+++ b/src/Specific/solinas32_2e336m17/freezeDisplay.log
@@ -17,33 +17,33 @@ Interp-η
uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x26, 0xffffff);
uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x25, 0xffffff);
uint32_t x69 = (uint32_t)cmovznz(x68, 0x0, 0xffffffff);
- uint32_t x70 = x69 & 0xffffef;
+ uint32_t x70 = (x69 & 0xffffef);
uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x28, Return x70);
- uint32_t x74 = x69 & 0xffffff;
+ uint32_t x74 = (x69 & 0xffffff);
uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x31, Return x74);
- uint32_t x78 = x69 & 0xffffff;
+ uint32_t x78 = (x69 & 0xffffff);
uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x34, Return x78);
- uint32_t x82 = x69 & 0xffffff;
+ uint32_t x82 = (x69 & 0xffffff);
uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x37, Return x82);
- uint32_t x86 = x69 & 0xffffff;
+ uint32_t x86 = (x69 & 0xffffff);
uint32_t x88, uint8_t x89 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x40, Return x86);
- uint32_t x90 = x69 & 0xffffff;
+ uint32_t x90 = (x69 & 0xffffff);
uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x43, Return x90);
- uint32_t x94 = x69 & 0xffffff;
+ uint32_t x94 = (x69 & 0xffffff);
uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x46, Return x94);
- uint32_t x98 = x69 & 0xffffff;
+ uint32_t x98 = (x69 & 0xffffff);
uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x49, Return x98);
- uint32_t x102 = x69 & 0xffffff;
+ uint32_t x102 = (x69 & 0xffffff);
uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x52, Return x102);
- uint32_t x106 = x69 & 0xffffff;
+ uint32_t x106 = (x69 & 0xffffff);
uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x55, Return x106);
- uint32_t x110 = x69 & 0xffffff;
+ uint32_t x110 = (x69 & 0xffffff);
uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x58, Return x110);
- uint32_t x114 = x69 & 0xffffff;
+ uint32_t x114 = (x69 & 0xffffff);
uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x61, Return x114);
- uint32_t x118 = x69 & 0xffffff;
+ uint32_t x118 = (x69 & 0xffffff);
uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x64, Return x118);
- uint32_t x122 = x69 & 0xffffff;
+ uint32_t x122 = (x69 & 0xffffff);
uint32_t x124, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x67, Return x122);
(Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92, Return x88, Return x84, Return x80, Return x76, Return x72))
x
diff --git a/src/Specific/solinas32_2e336m3/femulDisplay.log b/src/Specific/solinas32_2e336m3/femulDisplay.log
index 6df645236..7b17e6bed 100644
--- a/src/Specific/solinas32_2e336m3/femulDisplay.log
+++ b/src/Specific/solinas32_2e336m3/femulDisplay.log
@@ -1,68 +1,60 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
Interp-η
(λ var : Syntax.base_type → Type,
- λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
- uint64_t x56 = (uint64_t) x5 * x54 + ((uint64_t) x7 * x55 + ((uint64_t) x9 * x53 + ((uint64_t) x11 * x51 + ((uint64_t) x13 * x49 + ((uint64_t) x15 * x47 + ((uint64_t) x17 * x45 + ((uint64_t) x19 * x43 + ((uint64_t) x21 * x41 + ((uint64_t) x23 * x39 + ((uint64_t) x25 * x37 + ((uint64_t) x27 * x35 + ((uint64_t) x29 * x33 + (uint64_t) x28 * x31))))))))))));
- uint64_t x57 = (uint64_t) x5 * x55 + ((uint64_t) x7 * x53 + ((uint64_t) x9 * x51 + ((uint64_t) x11 * x49 + ((uint64_t) x13 * x47 + ((uint64_t) x15 * x45 + ((uint64_t) x17 * x43 + ((uint64_t) x19 * x41 + ((uint64_t) x21 * x39 + ((uint64_t) x23 * x37 + ((uint64_t) x25 * x35 + ((uint64_t) x27 * x33 + (uint64_t) x29 * x31))))))))))) + 0x3 * ((uint64_t) x28 * x54);
- uint64_t x58 = (uint64_t) x5 * x53 + ((uint64_t) x7 * x51 + ((uint64_t) x9 * x49 + ((uint64_t) x11 * x47 + ((uint64_t) x13 * x45 + ((uint64_t) x15 * x43 + ((uint64_t) x17 * x41 + ((uint64_t) x19 * x39 + ((uint64_t) x21 * x37 + ((uint64_t) x23 * x35 + ((uint64_t) x25 * x33 + (uint64_t) x27 * x31)))))))))) + 0x3 * ((uint64_t) x29 * x54 + (uint64_t) x28 * x55);
- uint64_t x59 = (uint64_t) x5 * x51 + ((uint64_t) x7 * x49 + ((uint64_t) x9 * x47 + ((uint64_t) x11 * x45 + ((uint64_t) x13 * x43 + ((uint64_t) x15 * x41 + ((uint64_t) x17 * x39 + ((uint64_t) x19 * x37 + ((uint64_t) x21 * x35 + ((uint64_t) x23 * x33 + (uint64_t) x25 * x31))))))))) + 0x3 * ((uint64_t) x27 * x54 + ((uint64_t) x29 * x55 + (uint64_t) x28 * x53));
- uint64_t x60 = (uint64_t) x5 * x49 + ((uint64_t) x7 * x47 + ((uint64_t) x9 * x45 + ((uint64_t) x11 * x43 + ((uint64_t) x13 * x41 + ((uint64_t) x15 * x39 + ((uint64_t) x17 * x37 + ((uint64_t) x19 * x35 + ((uint64_t) x21 * x33 + (uint64_t) x23 * x31)))))))) + 0x3 * ((uint64_t) x25 * x54 + ((uint64_t) x27 * x55 + ((uint64_t) x29 * x53 + (uint64_t) x28 * x51)));
- uint64_t x61 = (uint64_t) x5 * x47 + ((uint64_t) x7 * x45 + ((uint64_t) x9 * x43 + ((uint64_t) x11 * x41 + ((uint64_t) x13 * x39 + ((uint64_t) x15 * x37 + ((uint64_t) x17 * x35 + ((uint64_t) x19 * x33 + (uint64_t) x21 * x31))))))) + 0x3 * ((uint64_t) x23 * x54 + ((uint64_t) x25 * x55 + ((uint64_t) x27 * x53 + ((uint64_t) x29 * x51 + (uint64_t) x28 * x49))));
- uint64_t x62 = (uint64_t) x5 * x45 + ((uint64_t) x7 * x43 + ((uint64_t) x9 * x41 + ((uint64_t) x11 * x39 + ((uint64_t) x13 * x37 + ((uint64_t) x15 * x35 + ((uint64_t) x17 * x33 + (uint64_t) x19 * x31)))))) + 0x3 * ((uint64_t) x21 * x54 + ((uint64_t) x23 * x55 + ((uint64_t) x25 * x53 + ((uint64_t) x27 * x51 + ((uint64_t) x29 * x49 + (uint64_t) x28 * x47)))));
- uint64_t x63 = (uint64_t) x5 * x43 + ((uint64_t) x7 * x41 + ((uint64_t) x9 * x39 + ((uint64_t) x11 * x37 + ((uint64_t) x13 * x35 + ((uint64_t) x15 * x33 + (uint64_t) x17 * x31))))) + 0x3 * ((uint64_t) x19 * x54 + ((uint64_t) x21 * x55 + ((uint64_t) x23 * x53 + ((uint64_t) x25 * x51 + ((uint64_t) x27 * x49 + ((uint64_t) x29 * x47 + (uint64_t) x28 * x45))))));
- uint64_t x64 = (uint64_t) x5 * x41 + ((uint64_t) x7 * x39 + ((uint64_t) x9 * x37 + ((uint64_t) x11 * x35 + ((uint64_t) x13 * x33 + (uint64_t) x15 * x31)))) + 0x3 * ((uint64_t) x17 * x54 + ((uint64_t) x19 * x55 + ((uint64_t) x21 * x53 + ((uint64_t) x23 * x51 + ((uint64_t) x25 * x49 + ((uint64_t) x27 * x47 + ((uint64_t) x29 * x45 + (uint64_t) x28 * x43)))))));
- uint64_t x65 = (uint64_t) x5 * x39 + ((uint64_t) x7 * x37 + ((uint64_t) x9 * x35 + ((uint64_t) x11 * x33 + (uint64_t) x13 * x31))) + 0x3 * ((uint64_t) x15 * x54 + ((uint64_t) x17 * x55 + ((uint64_t) x19 * x53 + ((uint64_t) x21 * x51 + ((uint64_t) x23 * x49 + ((uint64_t) x25 * x47 + ((uint64_t) x27 * x45 + ((uint64_t) x29 * x43 + (uint64_t) x28 * x41))))))));
- uint64_t x66 = (uint64_t) x5 * x37 + ((uint64_t) x7 * x35 + ((uint64_t) x9 * x33 + (uint64_t) x11 * x31)) + 0x3 * ((uint64_t) x13 * x54 + ((uint64_t) x15 * x55 + ((uint64_t) x17 * x53 + ((uint64_t) x19 * x51 + ((uint64_t) x21 * x49 + ((uint64_t) x23 * x47 + ((uint64_t) x25 * x45 + ((uint64_t) x27 * x43 + ((uint64_t) x29 * x41 + (uint64_t) x28 * x39)))))))));
- uint64_t x67 = (uint64_t) x5 * x35 + ((uint64_t) x7 * x33 + (uint64_t) x9 * x31) + 0x3 * ((uint64_t) x11 * x54 + ((uint64_t) x13 * x55 + ((uint64_t) x15 * x53 + ((uint64_t) x17 * x51 + ((uint64_t) x19 * x49 + ((uint64_t) x21 * x47 + ((uint64_t) x23 * x45 + ((uint64_t) x25 * x43 + ((uint64_t) x27 * x41 + ((uint64_t) x29 * x39 + (uint64_t) x28 * x37))))))))));
- uint64_t x68 = (uint64_t) x5 * x33 + (uint64_t) x7 * x31 + 0x3 * ((uint64_t) x9 * x54 + ((uint64_t) x11 * x55 + ((uint64_t) x13 * x53 + ((uint64_t) x15 * x51 + ((uint64_t) x17 * x49 + ((uint64_t) x19 * x47 + ((uint64_t) x21 * x45 + ((uint64_t) x23 * x43 + ((uint64_t) x25 * x41 + ((uint64_t) x27 * x39 + ((uint64_t) x29 * x37 + (uint64_t) x28 * x35)))))))))));
- uint64_t x69 = (uint64_t) x5 * x31 + 0x3 * ((uint64_t) x7 * x54 + ((uint64_t) x9 * x55 + ((uint64_t) x11 * x53 + ((uint64_t) x13 * x51 + ((uint64_t) x15 * x49 + ((uint64_t) x17 * x47 + ((uint64_t) x19 * x45 + ((uint64_t) x21 * x43 + ((uint64_t) x23 * x41 + ((uint64_t) x25 * x39 + ((uint64_t) x27 * x37 + ((uint64_t) x29 * x35 + (uint64_t) x28 * x33))))))))))));
- uint32_t x70 = (uint32_t) (x69 >> 0x18);
- uint32_t x71 = (uint32_t) x69 & 0xffffff;
- uint64_t x72 = x70 + x68;
- uint32_t x73 = (uint32_t) (x72 >> 0x18);
- uint32_t x74 = (uint32_t) x72 & 0xffffff;
- uint64_t x75 = x73 + x67;
- uint32_t x76 = (uint32_t) (x75 >> 0x18);
- uint32_t x77 = (uint32_t) x75 & 0xffffff;
- uint64_t x78 = x76 + x66;
- uint32_t x79 = (uint32_t) (x78 >> 0x18);
- uint32_t x80 = (uint32_t) x78 & 0xffffff;
- uint64_t x81 = x79 + x65;
- uint32_t x82 = (uint32_t) (x81 >> 0x18);
- uint32_t x83 = (uint32_t) x81 & 0xffffff;
- uint64_t x84 = x82 + x64;
- uint32_t x85 = (uint32_t) (x84 >> 0x18);
- uint32_t x86 = (uint32_t) x84 & 0xffffff;
- uint64_t x87 = x85 + x63;
- uint32_t x88 = (uint32_t) (x87 >> 0x18);
- uint32_t x89 = (uint32_t) x87 & 0xffffff;
- uint64_t x90 = x88 + x62;
- uint32_t x91 = (uint32_t) (x90 >> 0x18);
- uint32_t x92 = (uint32_t) x90 & 0xffffff;
- uint64_t x93 = x91 + x61;
- uint32_t x94 = (uint32_t) (x93 >> 0x18);
- uint32_t x95 = (uint32_t) x93 & 0xffffff;
- uint64_t x96 = x94 + x60;
- uint32_t x97 = (uint32_t) (x96 >> 0x18);
- uint32_t x98 = (uint32_t) x96 & 0xffffff;
- uint64_t x99 = x97 + x59;
- uint32_t x100 = (uint32_t) (x99 >> 0x18);
- uint32_t x101 = (uint32_t) x99 & 0xffffff;
- uint64_t x102 = x100 + x58;
- uint32_t x103 = (uint32_t) (x102 >> 0x18);
- uint32_t x104 = (uint32_t) x102 & 0xffffff;
- uint64_t x105 = x103 + x57;
- uint32_t x106 = (uint32_t) (x105 >> 0x18);
- uint32_t x107 = (uint32_t) x105 & 0xffffff;
- uint64_t x108 = x106 + x56;
- uint32_t x109 = (uint32_t) (x108 >> 0x18);
- uint32_t x110 = (uint32_t) x108 & 0xffffff;
- uint32_t x111 = x71 + 0x3 * x109;
- uint32_t x112 = x111 >> 0x18;
- uint32_t x113 = x111 & 0xffffff;
- uint32_t x114 = x112 + x74;
- uint32_t x115 = x114 >> 0x18;
- uint32_t x116 = x114 & 0xffffff;
- return (Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, Return x92, Return x89, Return x86, Return x83, Return x80, x115 + x77, Return x116, Return x113))
+ λ '(x24, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x46, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29, x27))%core,
+ uint64_t x48 = (((uint64_t)x5 * x46) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + (((uint64_t)x25 * x29) + ((uint64_t)x24 * x27))))))))))));
+ uint64_t x49 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + (((uint64_t)x23 * x29) + ((uint64_t)x25 * x27))))))))))) + (0x3 * ((uint64_t)x24 * x46)));
+ uint64_t x50 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + (((uint64_t)x21 * x29) + ((uint64_t)x23 * x27)))))))))) + (0x3 * (((uint64_t)x25 * x46) + ((uint64_t)x24 * x47))));
+ uint64_t x51 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + (((uint64_t)x19 * x29) + ((uint64_t)x21 * x27))))))))) + (0x3 * (((uint64_t)x23 * x46) + (((uint64_t)x25 * x47) + ((uint64_t)x24 * x45)))));
+ uint64_t x52 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + (((uint64_t)x17 * x29) + ((uint64_t)x19 * x27)))))))) + (0x3 * (((uint64_t)x21 * x46) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + ((uint64_t)x24 * x43))))));
+ uint64_t x53 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + (((uint64_t)x15 * x29) + ((uint64_t)x17 * x27))))))) + (0x3 * (((uint64_t)x19 * x46) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + ((uint64_t)x24 * x41)))))));
+ ℤ x54 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + (((uint64_t)x13 * x29) + ((uint64_t)x15 * x27)))))) +ℤ (0x3 * (((uint64_t)x17 * x46) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + ((uint64_t)x24 * x39))))))));
+ ℤ x55 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + (((uint64_t)x11 * x29) + ((uint64_t)x13 * x27))))) +ℤ (0x3 * (((uint64_t)x15 * x46) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + ((uint64_t)x24 * x37)))))))));
+ ℤ x56 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + (((uint64_t)x9 * x29) + ((uint64_t)x11 * x27)))) +ℤ (0x3 *ℤ (((uint64_t)x13 * x46) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + ((uint64_t)x24 * x35))))))))));
+ ℤ x57 = ((((uint64_t)x5 * x31) + (((uint64_t)x7 * x29) + ((uint64_t)x9 * x27))) +ℤ (0x3 *ℤ (((uint64_t)x11 * x46) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + ((uint64_t)x24 * x33)))))))))));
+ ℤ x58 = ((((uint64_t)x5 * x29) + ((uint64_t)x7 * x27)) +ℤ (0x3 *ℤ (((uint64_t)x9 * x46) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + ((uint64_t)x24 * x31))))))))))));
+ ℤ x59 = (((uint64_t)x5 * x27) +ℤ (0x3 *ℤ (((uint64_t)x7 * x46) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + (((uint64_t)x21 * x35) + (((uint64_t)x23 * x33) + (((uint64_t)x25 * x31) + ((uint64_t)x24 * x29)))))))))))));
+ uint64_t x60 = (x59 >> 0x1c);
+ uint32_t x61 = (x59 & 0xfffffff);
+ ℤ x62 = (x60 +ℤ x58);
+ uint64_t x63 = (x62 >> 0x1c);
+ uint32_t x64 = (x62 & 0xfffffff);
+ ℤ x65 = (x63 +ℤ x57);
+ uint64_t x66 = (x65 >> 0x1c);
+ uint32_t x67 = (x65 & 0xfffffff);
+ ℤ x68 = (x66 +ℤ x56);
+ uint64_t x69 = (x68 >> 0x1c);
+ uint32_t x70 = (x68 & 0xfffffff);
+ ℤ x71 = (x69 +ℤ x55);
+ uint64_t x72 = (x71 >> 0x1c);
+ uint32_t x73 = (x71 & 0xfffffff);
+ ℤ x74 = (x72 +ℤ x54);
+ uint64_t x75 = (x74 >> 0x1c);
+ uint32_t x76 = (x74 & 0xfffffff);
+ uint64_t x77 = (x75 + x53);
+ uint64_t x78 = (x77 >> 0x1c);
+ uint32_t x79 = ((uint32_t)x77 & 0xfffffff);
+ uint64_t x80 = (x78 + x52);
+ uint64_t x81 = (x80 >> 0x1c);
+ uint32_t x82 = ((uint32_t)x80 & 0xfffffff);
+ uint64_t x83 = (x81 + x51);
+ uint64_t x84 = (x83 >> 0x1c);
+ uint32_t x85 = ((uint32_t)x83 & 0xfffffff);
+ uint64_t x86 = (x84 + x50);
+ uint64_t x87 = (x86 >> 0x1c);
+ uint32_t x88 = ((uint32_t)x86 & 0xfffffff);
+ uint64_t x89 = (x87 + x49);
+ uint64_t x90 = (x89 >> 0x1c);
+ uint32_t x91 = ((uint32_t)x89 & 0xfffffff);
+ uint64_t x92 = (x90 + x48);
+ uint64_t x93 = (x92 >> 0x1c);
+ uint32_t x94 = ((uint32_t)x92 & 0xfffffff);
+ uint64_t x95 = (x61 + (0x3 * x93));
+ uint32_t x96 = (uint32_t) (x95 >> 0x1c);
+ uint32_t x97 = ((uint32_t)x95 & 0xfffffff);
+ uint32_t x98 = (x96 + x64);
+ uint32_t x99 = (x98 >> 0x1c);
+ uint32_t x100 = (x98 & 0xfffffff);
+ return (Return x94, Return x91, Return x88, Return x85, Return x82, Return x79, Return x76, Return x73, Return x70, (x99 + x67), Return x100, Return x97))
(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e336m3/fesquareDisplay.log b/src/Specific/solinas32_2e336m3/fesquareDisplay.log
index 08cf86e57..656b75a45 100644
--- a/src/Specific/solinas32_2e336m3/fesquareDisplay.log
+++ b/src/Specific/solinas32_2e336m3/fesquareDisplay.log
@@ -1,68 +1,60 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
Interp-η
(λ var : Syntax.base_type → Type,
- λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x27 = (uint64_t) x2 * x25 + ((uint64_t) x4 * x26 + ((uint64_t) x6 * x24 + ((uint64_t) x8 * x22 + ((uint64_t) x10 * x20 + ((uint64_t) x12 * x18 + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + ((uint64_t) x18 * x12 + ((uint64_t) x20 * x10 + ((uint64_t) x22 * x8 + ((uint64_t) x24 * x6 + ((uint64_t) x26 * x4 + (uint64_t) x25 * x2))))))))))));
- uint64_t x28 = (uint64_t) x2 * x26 + ((uint64_t) x4 * x24 + ((uint64_t) x6 * x22 + ((uint64_t) x8 * x20 + ((uint64_t) x10 * x18 + ((uint64_t) x12 * x16 + ((uint64_t) x14 * x14 + ((uint64_t) x16 * x12 + ((uint64_t) x18 * x10 + ((uint64_t) x20 * x8 + ((uint64_t) x22 * x6 + ((uint64_t) x24 * x4 + (uint64_t) x26 * x2))))))))))) + 0x3 * ((uint64_t) x25 * x25);
- uint64_t x29 = (uint64_t) x2 * x24 + ((uint64_t) x4 * x22 + ((uint64_t) x6 * x20 + ((uint64_t) x8 * x18 + ((uint64_t) x10 * x16 + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + ((uint64_t) x16 * x10 + ((uint64_t) x18 * x8 + ((uint64_t) x20 * x6 + ((uint64_t) x22 * x4 + (uint64_t) x24 * x2)))))))))) + 0x3 * ((uint64_t) x26 * x25 + (uint64_t) x25 * x26);
- uint64_t x30 = (uint64_t) x2 * x22 + ((uint64_t) x4 * x20 + ((uint64_t) x6 * x18 + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + ((uint64_t) x18 * x6 + ((uint64_t) x20 * x4 + (uint64_t) x22 * x2))))))))) + 0x3 * ((uint64_t) x24 * x25 + ((uint64_t) x26 * x26 + (uint64_t) x25 * x24));
- uint64_t x31 = (uint64_t) x2 * x20 + ((uint64_t) x4 * x18 + ((uint64_t) x6 * x16 + ((uint64_t) x8 * x14 + ((uint64_t) x10 * x12 + ((uint64_t) x12 * x10 + ((uint64_t) x14 * x8 + ((uint64_t) x16 * x6 + ((uint64_t) x18 * x4 + (uint64_t) x20 * x2)))))))) + 0x3 * ((uint64_t) x22 * x25 + ((uint64_t) x24 * x26 + ((uint64_t) x26 * x24 + (uint64_t) x25 * x22)));
- uint64_t x32 = (uint64_t) x2 * x18 + ((uint64_t) x4 * x16 + ((uint64_t) x6 * x14 + ((uint64_t) x8 * x12 + ((uint64_t) x10 * x10 + ((uint64_t) x12 * x8 + ((uint64_t) x14 * x6 + ((uint64_t) x16 * x4 + (uint64_t) x18 * x2))))))) + 0x3 * ((uint64_t) x20 * x25 + ((uint64_t) x22 * x26 + ((uint64_t) x24 * x24 + ((uint64_t) x26 * x22 + (uint64_t) x25 * x20))));
- uint64_t x33 = (uint64_t) x2 * x16 + ((uint64_t) x4 * x14 + ((uint64_t) x6 * x12 + ((uint64_t) x8 * x10 + ((uint64_t) x10 * x8 + ((uint64_t) x12 * x6 + ((uint64_t) x14 * x4 + (uint64_t) x16 * x2)))))) + 0x3 * ((uint64_t) x18 * x25 + ((uint64_t) x20 * x26 + ((uint64_t) x22 * x24 + ((uint64_t) x24 * x22 + ((uint64_t) x26 * x20 + (uint64_t) x25 * x18)))));
- uint64_t x34 = (uint64_t) x2 * x14 + ((uint64_t) x4 * x12 + ((uint64_t) x6 * x10 + ((uint64_t) x8 * x8 + ((uint64_t) x10 * x6 + ((uint64_t) x12 * x4 + (uint64_t) x14 * x2))))) + 0x3 * ((uint64_t) x16 * x25 + ((uint64_t) x18 * x26 + ((uint64_t) x20 * x24 + ((uint64_t) x22 * x22 + ((uint64_t) x24 * x20 + ((uint64_t) x26 * x18 + (uint64_t) x25 * x16))))));
- uint64_t x35 = (uint64_t) x2 * x12 + ((uint64_t) x4 * x10 + ((uint64_t) x6 * x8 + ((uint64_t) x8 * x6 + ((uint64_t) x10 * x4 + (uint64_t) x12 * x2)))) + 0x3 * ((uint64_t) x14 * x25 + ((uint64_t) x16 * x26 + ((uint64_t) x18 * x24 + ((uint64_t) x20 * x22 + ((uint64_t) x22 * x20 + ((uint64_t) x24 * x18 + ((uint64_t) x26 * x16 + (uint64_t) x25 * x14)))))));
- uint64_t x36 = (uint64_t) x2 * x10 + ((uint64_t) x4 * x8 + ((uint64_t) x6 * x6 + ((uint64_t) x8 * x4 + (uint64_t) x10 * x2))) + 0x3 * ((uint64_t) x12 * x25 + ((uint64_t) x14 * x26 + ((uint64_t) x16 * x24 + ((uint64_t) x18 * x22 + ((uint64_t) x20 * x20 + ((uint64_t) x22 * x18 + ((uint64_t) x24 * x16 + ((uint64_t) x26 * x14 + (uint64_t) x25 * x12))))))));
- uint64_t x37 = (uint64_t) x2 * x8 + ((uint64_t) x4 * x6 + ((uint64_t) x6 * x4 + (uint64_t) x8 * x2)) + 0x3 * ((uint64_t) x10 * x25 + ((uint64_t) x12 * x26 + ((uint64_t) x14 * x24 + ((uint64_t) x16 * x22 + ((uint64_t) x18 * x20 + ((uint64_t) x20 * x18 + ((uint64_t) x22 * x16 + ((uint64_t) x24 * x14 + ((uint64_t) x26 * x12 + (uint64_t) x25 * x10)))))))));
- uint64_t x38 = (uint64_t) x2 * x6 + ((uint64_t) x4 * x4 + (uint64_t) x6 * x2) + 0x3 * ((uint64_t) x8 * x25 + ((uint64_t) x10 * x26 + ((uint64_t) x12 * x24 + ((uint64_t) x14 * x22 + ((uint64_t) x16 * x20 + ((uint64_t) x18 * x18 + ((uint64_t) x20 * x16 + ((uint64_t) x22 * x14 + ((uint64_t) x24 * x12 + ((uint64_t) x26 * x10 + (uint64_t) x25 * x8))))))))));
- uint64_t x39 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0x3 * ((uint64_t) x6 * x25 + ((uint64_t) x8 * x26 + ((uint64_t) x10 * x24 + ((uint64_t) x12 * x22 + ((uint64_t) x14 * x20 + ((uint64_t) x16 * x18 + ((uint64_t) x18 * x16 + ((uint64_t) x20 * x14 + ((uint64_t) x22 * x12 + ((uint64_t) x24 * x10 + ((uint64_t) x26 * x8 + (uint64_t) x25 * x6)))))))))));
- uint64_t x40 = (uint64_t) x2 * x2 + 0x3 * ((uint64_t) x4 * x25 + ((uint64_t) x6 * x26 + ((uint64_t) x8 * x24 + ((uint64_t) x10 * x22 + ((uint64_t) x12 * x20 + ((uint64_t) x14 * x18 + ((uint64_t) x16 * x16 + ((uint64_t) x18 * x14 + ((uint64_t) x20 * x12 + ((uint64_t) x22 * x10 + ((uint64_t) x24 * x8 + ((uint64_t) x26 * x6 + (uint64_t) x25 * x4))))))))))));
- uint32_t x41 = (uint32_t) (x40 >> 0x18);
- uint32_t x42 = (uint32_t) x40 & 0xffffff;
- uint64_t x43 = x41 + x39;
- uint32_t x44 = (uint32_t) (x43 >> 0x18);
- uint32_t x45 = (uint32_t) x43 & 0xffffff;
- uint64_t x46 = x44 + x38;
- uint32_t x47 = (uint32_t) (x46 >> 0x18);
- uint32_t x48 = (uint32_t) x46 & 0xffffff;
- uint64_t x49 = x47 + x37;
- uint32_t x50 = (uint32_t) (x49 >> 0x18);
- uint32_t x51 = (uint32_t) x49 & 0xffffff;
- uint64_t x52 = x50 + x36;
- uint32_t x53 = (uint32_t) (x52 >> 0x18);
- uint32_t x54 = (uint32_t) x52 & 0xffffff;
- uint64_t x55 = x53 + x35;
- uint32_t x56 = (uint32_t) (x55 >> 0x18);
- uint32_t x57 = (uint32_t) x55 & 0xffffff;
- uint64_t x58 = x56 + x34;
- uint32_t x59 = (uint32_t) (x58 >> 0x18);
- uint32_t x60 = (uint32_t) x58 & 0xffffff;
- uint64_t x61 = x59 + x33;
- uint32_t x62 = (uint32_t) (x61 >> 0x18);
- uint32_t x63 = (uint32_t) x61 & 0xffffff;
- uint64_t x64 = x62 + x32;
- uint32_t x65 = (uint32_t) (x64 >> 0x18);
- uint32_t x66 = (uint32_t) x64 & 0xffffff;
- uint64_t x67 = x65 + x31;
- uint32_t x68 = (uint32_t) (x67 >> 0x18);
- uint32_t x69 = (uint32_t) x67 & 0xffffff;
- uint64_t x70 = x68 + x30;
- uint32_t x71 = (uint32_t) (x70 >> 0x18);
- uint32_t x72 = (uint32_t) x70 & 0xffffff;
- uint64_t x73 = x71 + x29;
- uint32_t x74 = (uint32_t) (x73 >> 0x18);
- uint32_t x75 = (uint32_t) x73 & 0xffffff;
- uint64_t x76 = x74 + x28;
- uint32_t x77 = (uint32_t) (x76 >> 0x18);
- uint32_t x78 = (uint32_t) x76 & 0xffffff;
- uint64_t x79 = x77 + x27;
- uint32_t x80 = (uint32_t) (x79 >> 0x18);
- uint32_t x81 = (uint32_t) x79 & 0xffffff;
- uint32_t x82 = x42 + 0x3 * x80;
- uint32_t x83 = x82 >> 0x18;
- uint32_t x84 = x82 & 0xffffff;
- uint32_t x85 = x83 + x45;
- uint32_t x86 = x85 >> 0x18;
- uint32_t x87 = x85 & 0xffffff;
- return (Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, x86 + x48, Return x87, Return x84))
+ λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
+ uint64_t x23 = (((uint64_t)x2 * x21) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x21 * x2))))))))))));
+ uint64_t x24 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0x3 * ((uint64_t)x21 * x21)));
+ uint64_t x25 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0x3 * (((uint64_t)x22 * x21) + ((uint64_t)x21 * x22))));
+ uint64_t x26 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0x3 * (((uint64_t)x20 * x21) + (((uint64_t)x22 * x22) + ((uint64_t)x21 * x20)))));
+ uint64_t x27 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0x3 * (((uint64_t)x18 * x21) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + ((uint64_t)x21 * x18))))));
+ uint64_t x28 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0x3 * (((uint64_t)x16 * x21) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + ((uint64_t)x21 * x16)))))));
+ ℤ x29 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) +ℤ (0x3 * (((uint64_t)x14 * x21) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + ((uint64_t)x21 * x14))))))));
+ ℤ x30 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) +ℤ (0x3 * (((uint64_t)x12 * x21) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + ((uint64_t)x21 * x12)))))))));
+ ℤ x31 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) +ℤ (0x3 *ℤ (((uint64_t)x10 * x21) + (((uint64_t)x12 * x22) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + (((uint64_t)x22 * x12) + ((uint64_t)x21 * x10))))))))));
+ ℤ x32 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) +ℤ (0x3 *ℤ (((uint64_t)x8 * x21) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + ((uint64_t)x21 * x8)))))))))));
+ ℤ x33 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) +ℤ (0x3 *ℤ (((uint64_t)x6 * x21) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + ((uint64_t)x21 * x6))))))))))));
+ ℤ x34 = (((uint64_t)x2 * x2) +ℤ (0x3 *ℤ (((uint64_t)x4 * x21) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + ((uint64_t)x21 * x4)))))))))))));
+ uint64_t x35 = (x34 >> 0x1c);
+ uint32_t x36 = (x34 & 0xfffffff);
+ ℤ x37 = (x35 +ℤ x33);
+ uint64_t x38 = (x37 >> 0x1c);
+ uint32_t x39 = (x37 & 0xfffffff);
+ ℤ x40 = (x38 +ℤ x32);
+ uint64_t x41 = (x40 >> 0x1c);
+ uint32_t x42 = (x40 & 0xfffffff);
+ ℤ x43 = (x41 +ℤ x31);
+ uint64_t x44 = (x43 >> 0x1c);
+ uint32_t x45 = (x43 & 0xfffffff);
+ ℤ x46 = (x44 +ℤ x30);
+ uint64_t x47 = (x46 >> 0x1c);
+ uint32_t x48 = (x46 & 0xfffffff);
+ ℤ x49 = (x47 +ℤ x29);
+ uint64_t x50 = (x49 >> 0x1c);
+ uint32_t x51 = (x49 & 0xfffffff);
+ uint64_t x52 = (x50 + x28);
+ uint64_t x53 = (x52 >> 0x1c);
+ uint32_t x54 = ((uint32_t)x52 & 0xfffffff);
+ uint64_t x55 = (x53 + x27);
+ uint64_t x56 = (x55 >> 0x1c);
+ uint32_t x57 = ((uint32_t)x55 & 0xfffffff);
+ uint64_t x58 = (x56 + x26);
+ uint64_t x59 = (x58 >> 0x1c);
+ uint32_t x60 = ((uint32_t)x58 & 0xfffffff);
+ uint64_t x61 = (x59 + x25);
+ uint64_t x62 = (x61 >> 0x1c);
+ uint32_t x63 = ((uint32_t)x61 & 0xfffffff);
+ uint64_t x64 = (x62 + x24);
+ uint64_t x65 = (x64 >> 0x1c);
+ uint32_t x66 = ((uint32_t)x64 & 0xfffffff);
+ uint64_t x67 = (x65 + x23);
+ uint64_t x68 = (x67 >> 0x1c);
+ uint32_t x69 = ((uint32_t)x67 & 0xfffffff);
+ uint64_t x70 = (x36 + (0x3 * x68));
+ uint32_t x71 = (uint32_t) (x70 >> 0x1c);
+ uint32_t x72 = ((uint32_t)x70 & 0xfffffff);
+ uint32_t x73 = (x71 + x39);
+ uint32_t x74 = (x73 >> 0x1c);
+ uint32_t x75 = (x73 & 0xfffffff);
+ return (Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, Return x45, (x74 + x42), Return x75, Return x72))
x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e336m3/freezeDisplay.log b/src/Specific/solinas32_2e336m3/freezeDisplay.log
index 658ec855f..c70a3772d 100644
--- a/src/Specific/solinas32_2e336m3/freezeDisplay.log
+++ b/src/Specific/solinas32_2e336m3/freezeDisplay.log
@@ -1,50 +1,44 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
Interp-η
(λ var : Syntax.base_type → Type,
- λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0xfffffd);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x4, 0xffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x6, 0xffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x8, 0xffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x10, 0xffffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x12, 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x14, 0xffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x16, 0xffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x18, 0xffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x20, 0xffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x22, 0xffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x24, 0xffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x26, 0xffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x25, 0xffffff);
- uint32_t x69 = (uint32_t)cmovznz(x68, 0x0, 0xffffffff);
- uint32_t x70 = x69 & 0xfffffd;
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x28, Return x70);
- uint32_t x74 = x69 & 0xffffff;
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x31, Return x74);
- uint32_t x78 = x69 & 0xffffff;
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x34, Return x78);
- uint32_t x82 = x69 & 0xffffff;
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x37, Return x82);
- uint32_t x86 = x69 & 0xffffff;
- uint32_t x88, uint8_t x89 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x40, Return x86);
- uint32_t x90 = x69 & 0xffffff;
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x43, Return x90);
- uint32_t x94 = x69 & 0xffffff;
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x46, Return x94);
- uint32_t x98 = x69 & 0xffffff;
- uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x49, Return x98);
- uint32_t x102 = x69 & 0xffffff;
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x52, Return x102);
- uint32_t x106 = x69 & 0xffffff;
- uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x55, Return x106);
- uint32_t x110 = x69 & 0xffffff;
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x58, Return x110);
- uint32_t x114 = x69 & 0xffffff;
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x61, Return x114);
- uint32_t x118 = x69 & 0xffffff;
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x64, Return x118);
- uint32_t x122 = x69 & 0xffffff;
- uint32_t x124, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x67, Return x122);
- (Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92, Return x88, Return x84, Return x80, Return x76, Return x72))
+ λ '(x21, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
+ uint32_t x24, uint8_t x25 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, Const 268435453);
+ uint32_t x27, uint8_t x28 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x25, Return x4, 0xfffffff);
+ uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x28, Return x6, 0xfffffff);
+ uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x8, 0xfffffff);
+ uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x10, 0xfffffff);
+ uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x12, 0xfffffff);
+ uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x14, 0xfffffff);
+ uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x16, 0xfffffff);
+ uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x18, 0xfffffff);
+ uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x20, 0xfffffff);
+ uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x22, 0xfffffff);
+ uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x21, 0xfffffff);
+ uint32_t x59 = (uint32_t)cmovznz(x58, 0x0, 0xffffffff);
+ uint32_t x60 = (x59 & Const 268435453);
+ uint32_t x62, uint8_t x63 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x24, Return x60);
+ uint32_t x64 = (x59 & 0xfffffff);
+ uint32_t x66, uint8_t x67 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x27, Return x64);
+ uint32_t x68 = (x59 & 0xfffffff);
+ uint32_t x70, uint8_t x71 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x30, Return x68);
+ uint32_t x72 = (x59 & 0xfffffff);
+ uint32_t x74, uint8_t x75 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x71, Return x33, Return x72);
+ uint32_t x76 = (x59 & 0xfffffff);
+ uint32_t x78, uint8_t x79 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x36, Return x76);
+ uint32_t x80 = (x59 & 0xfffffff);
+ uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x79, Return x39, Return x80);
+ uint32_t x84 = (x59 & 0xfffffff);
+ uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x42, Return x84);
+ uint32_t x88 = (x59 & 0xfffffff);
+ uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x45, Return x88);
+ uint32_t x92 = (x59 & 0xfffffff);
+ uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x48, Return x92);
+ uint32_t x96 = (x59 & 0xfffffff);
+ uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x51, Return x96);
+ uint32_t x100 = (x59 & 0xfffffff);
+ uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x54, Return x100);
+ uint32_t x104 = (x59 & 0xfffffff);
+ uint32_t x106, uint8_t _ = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x57, Return x104);
+ (Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82, Return x78, Return x74, Return x70, Return x66, Return x62))
x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e338m15/femulDisplay.log b/src/Specific/solinas32_2e338m15/femulDisplay.log
index 56393ea9e..8de8577af 100644
--- a/src/Specific/solinas32_2e338m15/femulDisplay.log
+++ b/src/Specific/solinas32_2e338m15/femulDisplay.log
@@ -1,68 +1,64 @@
-λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+λ x x0 : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
Interp-η
(λ var : Syntax.base_type → Type,
- λ '(x28, x29, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x54, x55, x53, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31))%core,
- uint64_t x56 = (uint64_t) x5 * x54 + (0x2 * ((uint64_t) x7 * x55) + (0x2 * ((uint64_t) x9 * x53) + (0x2 * ((uint64_t) x11 * x51) + (0x2 * ((uint64_t) x13 * x49) + (0x2 * ((uint64_t) x15 * x47) + ((uint64_t) x17 * x45 + ((uint64_t) x19 * x43 + (0x2 * ((uint64_t) x21 * x41) + (0x2 * ((uint64_t) x23 * x39) + (0x2 * ((uint64_t) x25 * x37) + (0x2 * ((uint64_t) x27 * x35) + (0x2 * ((uint64_t) x29 * x33) + (uint64_t) x28 * x31))))))))))));
- uint64_t x57 = (uint64_t) x5 * x55 + (0x2 * ((uint64_t) x7 * x53) + (0x2 * ((uint64_t) x9 * x51) + (0x2 * ((uint64_t) x11 * x49) + (0x2 * ((uint64_t) x13 * x47) + ((uint64_t) x15 * x45 + ((uint64_t) x17 * x43 + ((uint64_t) x19 * x41 + (0x2 * ((uint64_t) x21 * x39) + (0x2 * ((uint64_t) x23 * x37) + (0x2 * ((uint64_t) x25 * x35) + (0x2 * ((uint64_t) x27 * x33) + (uint64_t) x29 * x31))))))))))) + 0xf * ((uint64_t) x28 * x54);
- uint64_t x58 = (uint64_t) x5 * x53 + (0x2 * ((uint64_t) x7 * x51) + (0x2 * ((uint64_t) x9 * x49) + (0x2 * ((uint64_t) x11 * x47) + ((uint64_t) x13 * x45 + ((uint64_t) x15 * x43 + ((uint64_t) x17 * x41 + ((uint64_t) x19 * x39 + (0x2 * ((uint64_t) x21 * x37) + (0x2 * ((uint64_t) x23 * x35) + (0x2 * ((uint64_t) x25 * x33) + (uint64_t) x27 * x31)))))))))) + 0xf * ((uint64_t) x29 * x54 + (uint64_t) x28 * x55);
- uint64_t x59 = (uint64_t) x5 * x51 + (0x2 * ((uint64_t) x7 * x49) + (0x2 * ((uint64_t) x9 * x47) + ((uint64_t) x11 * x45 + ((uint64_t) x13 * x43 + ((uint64_t) x15 * x41 + ((uint64_t) x17 * x39 + ((uint64_t) x19 * x37 + (0x2 * ((uint64_t) x21 * x35) + (0x2 * ((uint64_t) x23 * x33) + (uint64_t) x25 * x31))))))))) + 0xf * ((uint64_t) x27 * x54 + ((uint64_t) x29 * x55 + (uint64_t) x28 * x53));
- uint64_t x60 = (uint64_t) x5 * x49 + (0x2 * ((uint64_t) x7 * x47) + ((uint64_t) x9 * x45 + ((uint64_t) x11 * x43 + ((uint64_t) x13 * x41 + ((uint64_t) x15 * x39 + ((uint64_t) x17 * x37 + ((uint64_t) x19 * x35 + (0x2 * ((uint64_t) x21 * x33) + (uint64_t) x23 * x31)))))))) + 0xf * ((uint64_t) x25 * x54 + ((uint64_t) x27 * x55 + ((uint64_t) x29 * x53 + (uint64_t) x28 * x51)));
- uint64_t x61 = (uint64_t) x5 * x47 + ((uint64_t) x7 * x45 + ((uint64_t) x9 * x43 + ((uint64_t) x11 * x41 + ((uint64_t) x13 * x39 + ((uint64_t) x15 * x37 + ((uint64_t) x17 * x35 + ((uint64_t) x19 * x33 + (uint64_t) x21 * x31))))))) + 0xf * ((uint64_t) x23 * x54 + ((uint64_t) x25 * x55 + ((uint64_t) x27 * x53 + ((uint64_t) x29 * x51 + (uint64_t) x28 * x49))));
- uint64_t x62 = (uint64_t) x5 * x45 + (0x2 * ((uint64_t) x7 * x43) + (0x2 * ((uint64_t) x9 * x41) + (0x2 * ((uint64_t) x11 * x39) + (0x2 * ((uint64_t) x13 * x37) + (0x2 * ((uint64_t) x15 * x35) + (0x2 * ((uint64_t) x17 * x33) + (uint64_t) x19 * x31)))))) + 0xf * (0x2 * ((uint64_t) x21 * x54) + (0x2 * ((uint64_t) x23 * x55) + (0x2 * ((uint64_t) x25 * x53) + (0x2 * ((uint64_t) x27 * x51) + (0x2 * ((uint64_t) x29 * x49) + 0x2 * ((uint64_t) x28 * x47))))));
- uint64_t x63 = (uint64_t) x5 * x43 + (0x2 * ((uint64_t) x7 * x41) + (0x2 * ((uint64_t) x9 * x39) + (0x2 * ((uint64_t) x11 * x37) + (0x2 * ((uint64_t) x13 * x35) + (0x2 * ((uint64_t) x15 * x33) + (uint64_t) x17 * x31))))) + 0xf * ((uint64_t) x19 * x54 + (0x2 * ((uint64_t) x21 * x55) + (0x2 * ((uint64_t) x23 * x53) + (0x2 * ((uint64_t) x25 * x51) + (0x2 * ((uint64_t) x27 * x49) + (0x2 * ((uint64_t) x29 * x47) + (uint64_t) x28 * x45))))));
- uint64_t x64 = (uint64_t) x5 * x41 + (0x2 * ((uint64_t) x7 * x39) + (0x2 * ((uint64_t) x9 * x37) + (0x2 * ((uint64_t) x11 * x35) + (0x2 * ((uint64_t) x13 * x33) + (uint64_t) x15 * x31)))) + 0xf * ((uint64_t) x17 * x54 + ((uint64_t) x19 * x55 + (0x2 * ((uint64_t) x21 * x53) + (0x2 * ((uint64_t) x23 * x51) + (0x2 * ((uint64_t) x25 * x49) + (0x2 * ((uint64_t) x27 * x47) + ((uint64_t) x29 * x45 + (uint64_t) x28 * x43)))))));
- uint64_t x65 = (uint64_t) x5 * x39 + (0x2 * ((uint64_t) x7 * x37) + (0x2 * ((uint64_t) x9 * x35) + (0x2 * ((uint64_t) x11 * x33) + (uint64_t) x13 * x31))) + 0xf * ((uint64_t) x15 * x54 + ((uint64_t) x17 * x55 + ((uint64_t) x19 * x53 + (0x2 * ((uint64_t) x21 * x51) + (0x2 * ((uint64_t) x23 * x49) + (0x2 * ((uint64_t) x25 * x47) + ((uint64_t) x27 * x45 + ((uint64_t) x29 * x43 + (uint64_t) x28 * x41))))))));
- uint64_t x66 = (uint64_t) x5 * x37 + (0x2 * ((uint64_t) x7 * x35) + (0x2 * ((uint64_t) x9 * x33) + (uint64_t) x11 * x31)) + 0xf * ((uint64_t) x13 * x54 + ((uint64_t) x15 * x55 + ((uint64_t) x17 * x53 + ((uint64_t) x19 * x51 + (0x2 * ((uint64_t) x21 * x49) + (0x2 * ((uint64_t) x23 * x47) + ((uint64_t) x25 * x45 + ((uint64_t) x27 * x43 + ((uint64_t) x29 * x41 + (uint64_t) x28 * x39)))))))));
- uint64_t x67 = (uint64_t) x5 * x35 + (0x2 * ((uint64_t) x7 * x33) + (uint64_t) x9 * x31) + 0xf * ((uint64_t) x11 * x54 + ((uint64_t) x13 * x55 + ((uint64_t) x15 * x53 + ((uint64_t) x17 * x51 + ((uint64_t) x19 * x49 + (0x2 * ((uint64_t) x21 * x47) + ((uint64_t) x23 * x45 + ((uint64_t) x25 * x43 + ((uint64_t) x27 * x41 + ((uint64_t) x29 * x39 + (uint64_t) x28 * x37))))))))));
- uint64_t x68 = (uint64_t) x5 * x33 + (uint64_t) x7 * x31 + 0xf * ((uint64_t) x9 * x54 + ((uint64_t) x11 * x55 + ((uint64_t) x13 * x53 + ((uint64_t) x15 * x51 + ((uint64_t) x17 * x49 + ((uint64_t) x19 * x47 + ((uint64_t) x21 * x45 + ((uint64_t) x23 * x43 + ((uint64_t) x25 * x41 + ((uint64_t) x27 * x39 + ((uint64_t) x29 * x37 + (uint64_t) x28 * x35)))))))))));
- uint64_t x69 = (uint64_t) x5 * x31 + 0xf * (0x2 * ((uint64_t) x7 * x54) + (0x2 * ((uint64_t) x9 * x55) + (0x2 * ((uint64_t) x11 * x53) + (0x2 * ((uint64_t) x13 * x51) + (0x2 * ((uint64_t) x15 * x49) + (0x2 * ((uint64_t) x17 * x47) + ((uint64_t) x19 * x45 + (0x2 * ((uint64_t) x21 * x43) + (0x2 * ((uint64_t) x23 * x41) + (0x2 * ((uint64_t) x25 * x39) + (0x2 * ((uint64_t) x27 * x37) + (0x2 * ((uint64_t) x29 * x35) + 0x2 * ((uint64_t) x28 * x33)))))))))))));
- uint64_t x70 = x69 >> 0x19;
- uint32_t x71 = (uint32_t) x69 & 0x1ffffff;
- uint64_t x72 = x70 + x68;
- uint64_t x73 = x72 >> 0x18;
- uint32_t x74 = (uint32_t) x72 & 0xffffff;
- uint64_t x75 = x73 + x67;
- uint64_t x76 = x75 >> 0x18;
- uint32_t x77 = (uint32_t) x75 & 0xffffff;
- uint64_t x78 = x76 + x66;
- uint64_t x79 = x78 >> 0x18;
- uint32_t x80 = (uint32_t) x78 & 0xffffff;
- uint64_t x81 = x79 + x65;
- uint64_t x82 = x81 >> 0x18;
- uint32_t x83 = (uint32_t) x81 & 0xffffff;
- uint64_t x84 = x82 + x64;
- uint64_t x85 = x84 >> 0x18;
- uint32_t x86 = (uint32_t) x84 & 0xffffff;
- uint64_t x87 = x85 + x63;
- uint64_t x88 = x87 >> 0x18;
- uint32_t x89 = (uint32_t) x87 & 0xffffff;
- uint64_t x90 = x88 + x62;
- uint32_t x91 = (uint32_t) (x90 >> 0x19);
- uint32_t x92 = (uint32_t) x90 & 0x1ffffff;
- uint64_t x93 = x91 + x61;
- uint32_t x94 = (uint32_t) (x93 >> 0x18);
- uint32_t x95 = (uint32_t) x93 & 0xffffff;
- uint64_t x96 = x94 + x60;
- uint32_t x97 = (uint32_t) (x96 >> 0x18);
- uint32_t x98 = (uint32_t) x96 & 0xffffff;
- uint64_t x99 = x97 + x59;
- uint32_t x100 = (uint32_t) (x99 >> 0x18);
- uint32_t x101 = (uint32_t) x99 & 0xffffff;
- uint64_t x102 = x100 + x58;
- uint32_t x103 = (uint32_t) (x102 >> 0x18);
- uint32_t x104 = (uint32_t) x102 & 0xffffff;
- uint64_t x105 = x103 + x57;
- uint32_t x106 = (uint32_t) (x105 >> 0x18);
- uint32_t x107 = (uint32_t) x105 & 0xffffff;
- uint64_t x108 = x106 + x56;
- uint32_t x109 = (uint32_t) (x108 >> 0x18);
- uint32_t x110 = (uint32_t) x108 & 0xffffff;
- uint64_t x111 = x71 + (uint64_t) 0xf * x109;
- uint32_t x112 = (uint32_t) (x111 >> 0x19);
- uint32_t x113 = (uint32_t) x111 & 0x1ffffff;
- uint32_t x114 = x112 + x74;
- uint32_t x115 = x114 >> 0x18;
- uint32_t x116 = x114 & 0xffffff;
- return (Return x110, Return x107, Return x104, Return x101, Return x98, Return x95, Return x92, Return x89, Return x86, Return x83, Return x80, x115 + x77, Return x116, Return x113))
+ λ '(x26, x27, x25, x23, x21, x19, x17, x15, x13, x11, x9, x7, x5, (x50, x51, x49, x47, x45, x43, x41, x39, x37, x35, x33, x31, x29))%core,
+ uint64_t x52 = (((uint64_t)x5 * x50) + (((uint64_t)x7 * x51) + (((uint64_t)x9 * x49) + (((uint64_t)x11 * x47) + (((uint64_t)x13 * x45) + (((uint64_t)x15 * x43) + (((uint64_t)x17 * x41) + (((uint64_t)x19 * x39) + (((uint64_t)x21 * x37) + (((uint64_t)x23 * x35) + (((uint64_t)x25 * x33) + (((uint64_t)x27 * x31) + ((uint64_t)x26 * x29)))))))))))));
+ uint64_t x53 = ((((uint64_t)x5 * x51) + (((uint64_t)x7 * x49) + (((uint64_t)x9 * x47) + (((uint64_t)x11 * x45) + (((uint64_t)x13 * x43) + (((uint64_t)x15 * x41) + (((uint64_t)x17 * x39) + (((uint64_t)x19 * x37) + (((uint64_t)x21 * x35) + (((uint64_t)x23 * x33) + (((uint64_t)x25 * x31) + ((uint64_t)x27 * x29)))))))))))) + (0xf * ((uint64_t)x26 * x50)));
+ uint64_t x54 = ((((uint64_t)x5 * x49) + (((uint64_t)x7 * x47) + (((uint64_t)x9 * x45) + (((uint64_t)x11 * x43) + (((uint64_t)x13 * x41) + (((uint64_t)x15 * x39) + (((uint64_t)x17 * x37) + (((uint64_t)x19 * x35) + (((uint64_t)x21 * x33) + (((uint64_t)x23 * x31) + ((uint64_t)x25 * x29))))))))))) + (0xf * (((uint64_t)x27 * x50) + ((uint64_t)x26 * x51))));
+ uint64_t x55 = ((((uint64_t)x5 * x47) + (((uint64_t)x7 * x45) + (((uint64_t)x9 * x43) + (((uint64_t)x11 * x41) + (((uint64_t)x13 * x39) + (((uint64_t)x15 * x37) + (((uint64_t)x17 * x35) + (((uint64_t)x19 * x33) + (((uint64_t)x21 * x31) + ((uint64_t)x23 * x29)))))))))) + (0xf * (((uint64_t)x25 * x50) + (((uint64_t)x27 * x51) + ((uint64_t)x26 * x49)))));
+ uint64_t x56 = ((((uint64_t)x5 * x45) + (((uint64_t)x7 * x43) + (((uint64_t)x9 * x41) + (((uint64_t)x11 * x39) + (((uint64_t)x13 * x37) + (((uint64_t)x15 * x35) + (((uint64_t)x17 * x33) + (((uint64_t)x19 * x31) + ((uint64_t)x21 * x29))))))))) + (0xf * (((uint64_t)x23 * x50) + (((uint64_t)x25 * x51) + (((uint64_t)x27 * x49) + ((uint64_t)x26 * x47))))));
+ uint64_t x57 = ((((uint64_t)x5 * x43) + (((uint64_t)x7 * x41) + (((uint64_t)x9 * x39) + (((uint64_t)x11 * x37) + (((uint64_t)x13 * x35) + (((uint64_t)x15 * x33) + (((uint64_t)x17 * x31) + ((uint64_t)x19 * x29)))))))) + (0xf * (((uint64_t)x21 * x50) + (((uint64_t)x23 * x51) + (((uint64_t)x25 * x49) + (((uint64_t)x27 * x47) + ((uint64_t)x26 * x45)))))));
+ uint64_t x58 = ((((uint64_t)x5 * x41) + (((uint64_t)x7 * x39) + (((uint64_t)x9 * x37) + (((uint64_t)x11 * x35) + (((uint64_t)x13 * x33) + (((uint64_t)x15 * x31) + ((uint64_t)x17 * x29))))))) + (0xf * (((uint64_t)x19 * x50) + (((uint64_t)x21 * x51) + (((uint64_t)x23 * x49) + (((uint64_t)x25 * x47) + (((uint64_t)x27 * x45) + ((uint64_t)x26 * x43))))))));
+ uint64_t x59 = ((((uint64_t)x5 * x39) + (((uint64_t)x7 * x37) + (((uint64_t)x9 * x35) + (((uint64_t)x11 * x33) + (((uint64_t)x13 * x31) + ((uint64_t)x15 * x29)))))) + (0xf * (((uint64_t)x17 * x50) + (((uint64_t)x19 * x51) + (((uint64_t)x21 * x49) + (((uint64_t)x23 * x47) + (((uint64_t)x25 * x45) + (((uint64_t)x27 * x43) + ((uint64_t)x26 * x41)))))))));
+ uint64_t x60 = ((((uint64_t)x5 * x37) + (((uint64_t)x7 * x35) + (((uint64_t)x9 * x33) + (((uint64_t)x11 * x31) + ((uint64_t)x13 * x29))))) + (0xf * (((uint64_t)x15 * x50) + (((uint64_t)x17 * x51) + (((uint64_t)x19 * x49) + (((uint64_t)x21 * x47) + (((uint64_t)x23 * x45) + (((uint64_t)x25 * x43) + (((uint64_t)x27 * x41) + ((uint64_t)x26 * x39))))))))));
+ uint64_t x61 = ((((uint64_t)x5 * x35) + (((uint64_t)x7 * x33) + (((uint64_t)x9 * x31) + ((uint64_t)x11 * x29)))) + (0xf * (((uint64_t)x13 * x50) + (((uint64_t)x15 * x51) + (((uint64_t)x17 * x49) + (((uint64_t)x19 * x47) + (((uint64_t)x21 * x45) + (((uint64_t)x23 * x43) + (((uint64_t)x25 * x41) + (((uint64_t)x27 * x39) + ((uint64_t)x26 * x37)))))))))));
+ uint64_t x62 = ((((uint64_t)x5 * x33) + (((uint64_t)x7 * x31) + ((uint64_t)x9 * x29))) + (0xf * (((uint64_t)x11 * x50) + (((uint64_t)x13 * x51) + (((uint64_t)x15 * x49) + (((uint64_t)x17 * x47) + (((uint64_t)x19 * x45) + (((uint64_t)x21 * x43) + (((uint64_t)x23 * x41) + (((uint64_t)x25 * x39) + (((uint64_t)x27 * x37) + ((uint64_t)x26 * x35))))))))))));
+ uint64_t x63 = ((((uint64_t)x5 * x31) + ((uint64_t)x7 * x29)) + (0xf * (((uint64_t)x9 * x50) + (((uint64_t)x11 * x51) + (((uint64_t)x13 * x49) + (((uint64_t)x15 * x47) + (((uint64_t)x17 * x45) + (((uint64_t)x19 * x43) + (((uint64_t)x21 * x41) + (((uint64_t)x23 * x39) + (((uint64_t)x25 * x37) + (((uint64_t)x27 * x35) + ((uint64_t)x26 * x33)))))))))))));
+ uint64_t x64 = (((uint64_t)x5 * x29) + (0xf * (((uint64_t)x7 * x50) + (((uint64_t)x9 * x51) + (((uint64_t)x11 * x49) + (((uint64_t)x13 * x47) + (((uint64_t)x15 * x45) + (((uint64_t)x17 * x43) + (((uint64_t)x19 * x41) + (((uint64_t)x21 * x39) + (((uint64_t)x23 * x37) + (((uint64_t)x25 * x35) + (((uint64_t)x27 * x33) + ((uint64_t)x26 * x31))))))))))))));
+ uint64_t x65 = (x64 >> 0x1a);
+ uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
+ uint64_t x67 = (x65 + x63);
+ uint64_t x68 = (x67 >> 0x1a);
+ uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
+ uint64_t x70 = (x68 + x62);
+ uint64_t x71 = (x70 >> 0x1a);
+ uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
+ uint64_t x73 = (x71 + x61);
+ uint64_t x74 = (x73 >> 0x1a);
+ uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
+ uint64_t x76 = (x74 + x60);
+ uint64_t x77 = (x76 >> 0x1a);
+ uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
+ uint64_t x79 = (x77 + x59);
+ uint64_t x80 = (x79 >> 0x1a);
+ uint32_t x81 = ((uint32_t)x79 & 0x3ffffff);
+ uint64_t x82 = (x80 + x58);
+ uint64_t x83 = (x82 >> 0x1a);
+ uint32_t x84 = ((uint32_t)x82 & 0x3ffffff);
+ uint64_t x85 = (x83 + x57);
+ uint64_t x86 = (x85 >> 0x1a);
+ uint32_t x87 = ((uint32_t)x85 & 0x3ffffff);
+ uint64_t x88 = (x86 + x56);
+ uint64_t x89 = (x88 >> 0x1a);
+ uint32_t x90 = ((uint32_t)x88 & 0x3ffffff);
+ uint64_t x91 = (x89 + x55);
+ uint64_t x92 = (x91 >> 0x1a);
+ uint32_t x93 = ((uint32_t)x91 & 0x3ffffff);
+ uint64_t x94 = (x92 + x54);
+ uint64_t x95 = (x94 >> 0x1a);
+ uint32_t x96 = ((uint32_t)x94 & 0x3ffffff);
+ uint64_t x97 = (x95 + x53);
+ uint64_t x98 = (x97 >> 0x1a);
+ uint32_t x99 = ((uint32_t)x97 & 0x3ffffff);
+ uint64_t x100 = (x98 + x52);
+ uint64_t x101 = (x100 >> 0x1a);
+ uint32_t x102 = ((uint32_t)x100 & 0x3ffffff);
+ uint64_t x103 = (x66 + (0xf * x101));
+ uint32_t x104 = (uint32_t) (x103 >> 0x1a);
+ uint32_t x105 = ((uint32_t)x103 & 0x3ffffff);
+ uint32_t x106 = (x104 + x69);
+ uint32_t x107 = (x106 >> 0x1a);
+ uint32_t x108 = (x106 & 0x3ffffff);
+ return (Return x102, Return x99, Return x96, Return x93, Return x90, Return x87, Return x84, Return x81, Return x78, Return x75, (x107 + x72), Return x108, Return x105))
(x, x0)%core
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e338m15/fesquareDisplay.log b/src/Specific/solinas32_2e338m15/fesquareDisplay.log
index 697c21e42..f7b5ca625 100644
--- a/src/Specific/solinas32_2e338m15/fesquareDisplay.log
+++ b/src/Specific/solinas32_2e338m15/fesquareDisplay.log
@@ -1,68 +1,64 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
Interp-η
(λ var : Syntax.base_type → Type,
- λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint64_t x27 = (uint64_t) x2 * x25 + (0x2 * ((uint64_t) x4 * x26) + (0x2 * ((uint64_t) x6 * x24) + (0x2 * ((uint64_t) x8 * x22) + (0x2 * ((uint64_t) x10 * x20) + (0x2 * ((uint64_t) x12 * x18) + ((uint64_t) x14 * x16 + ((uint64_t) x16 * x14 + (0x2 * ((uint64_t) x18 * x12) + (0x2 * ((uint64_t) x20 * x10) + (0x2 * ((uint64_t) x22 * x8) + (0x2 * ((uint64_t) x24 * x6) + (0x2 * ((uint64_t) x26 * x4) + (uint64_t) x25 * x2))))))))))));
- uint64_t x28 = (uint64_t) x2 * x26 + (0x2 * ((uint64_t) x4 * x24) + (0x2 * ((uint64_t) x6 * x22) + (0x2 * ((uint64_t) x8 * x20) + (0x2 * ((uint64_t) x10 * x18) + ((uint64_t) x12 * x16 + ((uint64_t) x14 * x14 + ((uint64_t) x16 * x12 + (0x2 * ((uint64_t) x18 * x10) + (0x2 * ((uint64_t) x20 * x8) + (0x2 * ((uint64_t) x22 * x6) + (0x2 * ((uint64_t) x24 * x4) + (uint64_t) x26 * x2))))))))))) + 0xf * ((uint64_t) x25 * x25);
- uint64_t x29 = (uint64_t) x2 * x24 + (0x2 * ((uint64_t) x4 * x22) + (0x2 * ((uint64_t) x6 * x20) + (0x2 * ((uint64_t) x8 * x18) + ((uint64_t) x10 * x16 + ((uint64_t) x12 * x14 + ((uint64_t) x14 * x12 + ((uint64_t) x16 * x10 + (0x2 * ((uint64_t) x18 * x8) + (0x2 * ((uint64_t) x20 * x6) + (0x2 * ((uint64_t) x22 * x4) + (uint64_t) x24 * x2)))))))))) + 0xf * ((uint64_t) x26 * x25 + (uint64_t) x25 * x26);
- uint64_t x30 = (uint64_t) x2 * x22 + (0x2 * ((uint64_t) x4 * x20) + (0x2 * ((uint64_t) x6 * x18) + ((uint64_t) x8 * x16 + ((uint64_t) x10 * x14 + ((uint64_t) x12 * x12 + ((uint64_t) x14 * x10 + ((uint64_t) x16 * x8 + (0x2 * ((uint64_t) x18 * x6) + (0x2 * ((uint64_t) x20 * x4) + (uint64_t) x22 * x2))))))))) + 0xf * ((uint64_t) x24 * x25 + ((uint64_t) x26 * x26 + (uint64_t) x25 * x24));
- uint64_t x31 = (uint64_t) x2 * x20 + (0x2 * ((uint64_t) x4 * x18) + ((uint64_t) x6 * x16 + ((uint64_t) x8 * x14 + ((uint64_t) x10 * x12 + ((uint64_t) x12 * x10 + ((uint64_t) x14 * x8 + ((uint64_t) x16 * x6 + (0x2 * ((uint64_t) x18 * x4) + (uint64_t) x20 * x2)))))))) + 0xf * ((uint64_t) x22 * x25 + ((uint64_t) x24 * x26 + ((uint64_t) x26 * x24 + (uint64_t) x25 * x22)));
- uint64_t x32 = (uint64_t) x2 * x18 + ((uint64_t) x4 * x16 + ((uint64_t) x6 * x14 + ((uint64_t) x8 * x12 + ((uint64_t) x10 * x10 + ((uint64_t) x12 * x8 + ((uint64_t) x14 * x6 + ((uint64_t) x16 * x4 + (uint64_t) x18 * x2))))))) + 0xf * ((uint64_t) x20 * x25 + ((uint64_t) x22 * x26 + ((uint64_t) x24 * x24 + ((uint64_t) x26 * x22 + (uint64_t) x25 * x20))));
- uint64_t x33 = (uint64_t) x2 * x16 + (0x2 * ((uint64_t) x4 * x14) + (0x2 * ((uint64_t) x6 * x12) + (0x2 * ((uint64_t) x8 * x10) + (0x2 * ((uint64_t) x10 * x8) + (0x2 * ((uint64_t) x12 * x6) + (0x2 * ((uint64_t) x14 * x4) + (uint64_t) x16 * x2)))))) + 0xf * (0x2 * ((uint64_t) x18 * x25) + (0x2 * ((uint64_t) x20 * x26) + (0x2 * ((uint64_t) x22 * x24) + (0x2 * ((uint64_t) x24 * x22) + (0x2 * ((uint64_t) x26 * x20) + 0x2 * ((uint64_t) x25 * x18))))));
- uint64_t x34 = (uint64_t) x2 * x14 + (0x2 * ((uint64_t) x4 * x12) + (0x2 * ((uint64_t) x6 * x10) + (0x2 * ((uint64_t) x8 * x8) + (0x2 * ((uint64_t) x10 * x6) + (0x2 * ((uint64_t) x12 * x4) + (uint64_t) x14 * x2))))) + 0xf * ((uint64_t) x16 * x25 + (0x2 * ((uint64_t) x18 * x26) + (0x2 * ((uint64_t) x20 * x24) + (0x2 * ((uint64_t) x22 * x22) + (0x2 * ((uint64_t) x24 * x20) + (0x2 * ((uint64_t) x26 * x18) + (uint64_t) x25 * x16))))));
- uint64_t x35 = (uint64_t) x2 * x12 + (0x2 * ((uint64_t) x4 * x10) + (0x2 * ((uint64_t) x6 * x8) + (0x2 * ((uint64_t) x8 * x6) + (0x2 * ((uint64_t) x10 * x4) + (uint64_t) x12 * x2)))) + 0xf * ((uint64_t) x14 * x25 + ((uint64_t) x16 * x26 + (0x2 * ((uint64_t) x18 * x24) + (0x2 * ((uint64_t) x20 * x22) + (0x2 * ((uint64_t) x22 * x20) + (0x2 * ((uint64_t) x24 * x18) + ((uint64_t) x26 * x16 + (uint64_t) x25 * x14)))))));
- uint64_t x36 = (uint64_t) x2 * x10 + (0x2 * ((uint64_t) x4 * x8) + (0x2 * ((uint64_t) x6 * x6) + (0x2 * ((uint64_t) x8 * x4) + (uint64_t) x10 * x2))) + 0xf * ((uint64_t) x12 * x25 + ((uint64_t) x14 * x26 + ((uint64_t) x16 * x24 + (0x2 * ((uint64_t) x18 * x22) + (0x2 * ((uint64_t) x20 * x20) + (0x2 * ((uint64_t) x22 * x18) + ((uint64_t) x24 * x16 + ((uint64_t) x26 * x14 + (uint64_t) x25 * x12))))))));
- uint64_t x37 = (uint64_t) x2 * x8 + (0x2 * ((uint64_t) x4 * x6) + (0x2 * ((uint64_t) x6 * x4) + (uint64_t) x8 * x2)) + 0xf * ((uint64_t) x10 * x25 + ((uint64_t) x12 * x26 + ((uint64_t) x14 * x24 + ((uint64_t) x16 * x22 + (0x2 * ((uint64_t) x18 * x20) + (0x2 * ((uint64_t) x20 * x18) + ((uint64_t) x22 * x16 + ((uint64_t) x24 * x14 + ((uint64_t) x26 * x12 + (uint64_t) x25 * x10)))))))));
- uint64_t x38 = (uint64_t) x2 * x6 + (0x2 * ((uint64_t) x4 * x4) + (uint64_t) x6 * x2) + 0xf * ((uint64_t) x8 * x25 + ((uint64_t) x10 * x26 + ((uint64_t) x12 * x24 + ((uint64_t) x14 * x22 + ((uint64_t) x16 * x20 + (0x2 * ((uint64_t) x18 * x18) + ((uint64_t) x20 * x16 + ((uint64_t) x22 * x14 + ((uint64_t) x24 * x12 + ((uint64_t) x26 * x10 + (uint64_t) x25 * x8))))))))));
- uint64_t x39 = (uint64_t) x2 * x4 + (uint64_t) x4 * x2 + 0xf * ((uint64_t) x6 * x25 + ((uint64_t) x8 * x26 + ((uint64_t) x10 * x24 + ((uint64_t) x12 * x22 + ((uint64_t) x14 * x20 + ((uint64_t) x16 * x18 + ((uint64_t) x18 * x16 + ((uint64_t) x20 * x14 + ((uint64_t) x22 * x12 + ((uint64_t) x24 * x10 + ((uint64_t) x26 * x8 + (uint64_t) x25 * x6)))))))))));
- uint64_t x40 = (uint64_t) x2 * x2 + 0xf * (0x2 * ((uint64_t) x4 * x25) + (0x2 * ((uint64_t) x6 * x26) + (0x2 * ((uint64_t) x8 * x24) + (0x2 * ((uint64_t) x10 * x22) + (0x2 * ((uint64_t) x12 * x20) + (0x2 * ((uint64_t) x14 * x18) + ((uint64_t) x16 * x16 + (0x2 * ((uint64_t) x18 * x14) + (0x2 * ((uint64_t) x20 * x12) + (0x2 * ((uint64_t) x22 * x10) + (0x2 * ((uint64_t) x24 * x8) + (0x2 * ((uint64_t) x26 * x6) + 0x2 * ((uint64_t) x25 * x4)))))))))))));
- uint64_t x41 = x40 >> 0x19;
- uint32_t x42 = (uint32_t) x40 & 0x1ffffff;
- uint64_t x43 = x41 + x39;
- uint64_t x44 = x43 >> 0x18;
- uint32_t x45 = (uint32_t) x43 & 0xffffff;
- uint64_t x46 = x44 + x38;
- uint64_t x47 = x46 >> 0x18;
- uint32_t x48 = (uint32_t) x46 & 0xffffff;
- uint64_t x49 = x47 + x37;
- uint64_t x50 = x49 >> 0x18;
- uint32_t x51 = (uint32_t) x49 & 0xffffff;
- uint64_t x52 = x50 + x36;
- uint64_t x53 = x52 >> 0x18;
- uint32_t x54 = (uint32_t) x52 & 0xffffff;
- uint64_t x55 = x53 + x35;
- uint64_t x56 = x55 >> 0x18;
- uint32_t x57 = (uint32_t) x55 & 0xffffff;
- uint64_t x58 = x56 + x34;
- uint64_t x59 = x58 >> 0x18;
- uint32_t x60 = (uint32_t) x58 & 0xffffff;
- uint64_t x61 = x59 + x33;
- uint32_t x62 = (uint32_t) (x61 >> 0x19);
- uint32_t x63 = (uint32_t) x61 & 0x1ffffff;
- uint64_t x64 = x62 + x32;
- uint32_t x65 = (uint32_t) (x64 >> 0x18);
- uint32_t x66 = (uint32_t) x64 & 0xffffff;
- uint64_t x67 = x65 + x31;
- uint32_t x68 = (uint32_t) (x67 >> 0x18);
- uint32_t x69 = (uint32_t) x67 & 0xffffff;
- uint64_t x70 = x68 + x30;
- uint32_t x71 = (uint32_t) (x70 >> 0x18);
- uint32_t x72 = (uint32_t) x70 & 0xffffff;
- uint64_t x73 = x71 + x29;
- uint32_t x74 = (uint32_t) (x73 >> 0x18);
- uint32_t x75 = (uint32_t) x73 & 0xffffff;
- uint64_t x76 = x74 + x28;
- uint32_t x77 = (uint32_t) (x76 >> 0x18);
- uint32_t x78 = (uint32_t) x76 & 0xffffff;
- uint64_t x79 = x77 + x27;
- uint32_t x80 = (uint32_t) (x79 >> 0x18);
- uint32_t x81 = (uint32_t) x79 & 0xffffff;
- uint64_t x82 = x42 + (uint64_t) 0xf * x80;
- uint32_t x83 = (uint32_t) (x82 >> 0x19);
- uint32_t x84 = (uint32_t) x82 & 0x1ffffff;
- uint32_t x85 = x83 + x45;
- uint32_t x86 = x85 >> 0x18;
- uint32_t x87 = x85 & 0xffffff;
- return (Return x81, Return x78, Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, x86 + x48, Return x87, Return x84))
+ λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
+ uint64_t x25 = (((uint64_t)x2 * x23) + (((uint64_t)x4 * x24) + (((uint64_t)x6 * x22) + (((uint64_t)x8 * x20) + (((uint64_t)x10 * x18) + (((uint64_t)x12 * x16) + (((uint64_t)x14 * x14) + (((uint64_t)x16 * x12) + (((uint64_t)x18 * x10) + (((uint64_t)x20 * x8) + (((uint64_t)x22 * x6) + (((uint64_t)x24 * x4) + ((uint64_t)x23 * x2)))))))))))));
+ uint64_t x26 = ((((uint64_t)x2 * x24) + (((uint64_t)x4 * x22) + (((uint64_t)x6 * x20) + (((uint64_t)x8 * x18) + (((uint64_t)x10 * x16) + (((uint64_t)x12 * x14) + (((uint64_t)x14 * x12) + (((uint64_t)x16 * x10) + (((uint64_t)x18 * x8) + (((uint64_t)x20 * x6) + (((uint64_t)x22 * x4) + ((uint64_t)x24 * x2)))))))))))) + (0xf * ((uint64_t)x23 * x23)));
+ uint64_t x27 = ((((uint64_t)x2 * x22) + (((uint64_t)x4 * x20) + (((uint64_t)x6 * x18) + (((uint64_t)x8 * x16) + (((uint64_t)x10 * x14) + (((uint64_t)x12 * x12) + (((uint64_t)x14 * x10) + (((uint64_t)x16 * x8) + (((uint64_t)x18 * x6) + (((uint64_t)x20 * x4) + ((uint64_t)x22 * x2))))))))))) + (0xf * (((uint64_t)x24 * x23) + ((uint64_t)x23 * x24))));
+ uint64_t x28 = ((((uint64_t)x2 * x20) + (((uint64_t)x4 * x18) + (((uint64_t)x6 * x16) + (((uint64_t)x8 * x14) + (((uint64_t)x10 * x12) + (((uint64_t)x12 * x10) + (((uint64_t)x14 * x8) + (((uint64_t)x16 * x6) + (((uint64_t)x18 * x4) + ((uint64_t)x20 * x2)))))))))) + (0xf * (((uint64_t)x22 * x23) + (((uint64_t)x24 * x24) + ((uint64_t)x23 * x22)))));
+ uint64_t x29 = ((((uint64_t)x2 * x18) + (((uint64_t)x4 * x16) + (((uint64_t)x6 * x14) + (((uint64_t)x8 * x12) + (((uint64_t)x10 * x10) + (((uint64_t)x12 * x8) + (((uint64_t)x14 * x6) + (((uint64_t)x16 * x4) + ((uint64_t)x18 * x2))))))))) + (0xf * (((uint64_t)x20 * x23) + (((uint64_t)x22 * x24) + (((uint64_t)x24 * x22) + ((uint64_t)x23 * x20))))));
+ uint64_t x30 = ((((uint64_t)x2 * x16) + (((uint64_t)x4 * x14) + (((uint64_t)x6 * x12) + (((uint64_t)x8 * x10) + (((uint64_t)x10 * x8) + (((uint64_t)x12 * x6) + (((uint64_t)x14 * x4) + ((uint64_t)x16 * x2)))))))) + (0xf * (((uint64_t)x18 * x23) + (((uint64_t)x20 * x24) + (((uint64_t)x22 * x22) + (((uint64_t)x24 * x20) + ((uint64_t)x23 * x18)))))));
+ uint64_t x31 = ((((uint64_t)x2 * x14) + (((uint64_t)x4 * x12) + (((uint64_t)x6 * x10) + (((uint64_t)x8 * x8) + (((uint64_t)x10 * x6) + (((uint64_t)x12 * x4) + ((uint64_t)x14 * x2))))))) + (0xf * (((uint64_t)x16 * x23) + (((uint64_t)x18 * x24) + (((uint64_t)x20 * x22) + (((uint64_t)x22 * x20) + (((uint64_t)x24 * x18) + ((uint64_t)x23 * x16))))))));
+ uint64_t x32 = ((((uint64_t)x2 * x12) + (((uint64_t)x4 * x10) + (((uint64_t)x6 * x8) + (((uint64_t)x8 * x6) + (((uint64_t)x10 * x4) + ((uint64_t)x12 * x2)))))) + (0xf * (((uint64_t)x14 * x23) + (((uint64_t)x16 * x24) + (((uint64_t)x18 * x22) + (((uint64_t)x20 * x20) + (((uint64_t)x22 * x18) + (((uint64_t)x24 * x16) + ((uint64_t)x23 * x14)))))))));
+ uint64_t x33 = ((((uint64_t)x2 * x10) + (((uint64_t)x4 * x8) + (((uint64_t)x6 * x6) + (((uint64_t)x8 * x4) + ((uint64_t)x10 * x2))))) + (0xf * (((uint64_t)x12 * x23) + (((uint64_t)x14 * x24) + (((uint64_t)x16 * x22) + (((uint64_t)x18 * x20) + (((uint64_t)x20 * x18) + (((uint64_t)x22 * x16) + (((uint64_t)x24 * x14) + ((uint64_t)x23 * x12))))))))));
+ uint64_t x34 = ((((uint64_t)x2 * x8) + (((uint64_t)x4 * x6) + (((uint64_t)x6 * x4) + ((uint64_t)x8 * x2)))) + (0xf * (((uint64_t)x10 * x23) + (((uint64_t)x12 * x24) + (((uint64_t)x14 * x22) + (((uint64_t)x16 * x20) + (((uint64_t)x18 * x18) + (((uint64_t)x20 * x16) + (((uint64_t)x22 * x14) + (((uint64_t)x24 * x12) + ((uint64_t)x23 * x10)))))))))));
+ uint64_t x35 = ((((uint64_t)x2 * x6) + (((uint64_t)x4 * x4) + ((uint64_t)x6 * x2))) + (0xf * (((uint64_t)x8 * x23) + (((uint64_t)x10 * x24) + (((uint64_t)x12 * x22) + (((uint64_t)x14 * x20) + (((uint64_t)x16 * x18) + (((uint64_t)x18 * x16) + (((uint64_t)x20 * x14) + (((uint64_t)x22 * x12) + (((uint64_t)x24 * x10) + ((uint64_t)x23 * x8))))))))))));
+ uint64_t x36 = ((((uint64_t)x2 * x4) + ((uint64_t)x4 * x2)) + (0xf * (((uint64_t)x6 * x23) + (((uint64_t)x8 * x24) + (((uint64_t)x10 * x22) + (((uint64_t)x12 * x20) + (((uint64_t)x14 * x18) + (((uint64_t)x16 * x16) + (((uint64_t)x18 * x14) + (((uint64_t)x20 * x12) + (((uint64_t)x22 * x10) + (((uint64_t)x24 * x8) + ((uint64_t)x23 * x6)))))))))))));
+ uint64_t x37 = (((uint64_t)x2 * x2) + (0xf * (((uint64_t)x4 * x23) + (((uint64_t)x6 * x24) + (((uint64_t)x8 * x22) + (((uint64_t)x10 * x20) + (((uint64_t)x12 * x18) + (((uint64_t)x14 * x16) + (((uint64_t)x16 * x14) + (((uint64_t)x18 * x12) + (((uint64_t)x20 * x10) + (((uint64_t)x22 * x8) + (((uint64_t)x24 * x6) + ((uint64_t)x23 * x4))))))))))))));
+ uint64_t x38 = (x37 >> 0x1a);
+ uint32_t x39 = ((uint32_t)x37 & 0x3ffffff);
+ uint64_t x40 = (x38 + x36);
+ uint64_t x41 = (x40 >> 0x1a);
+ uint32_t x42 = ((uint32_t)x40 & 0x3ffffff);
+ uint64_t x43 = (x41 + x35);
+ uint64_t x44 = (x43 >> 0x1a);
+ uint32_t x45 = ((uint32_t)x43 & 0x3ffffff);
+ uint64_t x46 = (x44 + x34);
+ uint64_t x47 = (x46 >> 0x1a);
+ uint32_t x48 = ((uint32_t)x46 & 0x3ffffff);
+ uint64_t x49 = (x47 + x33);
+ uint64_t x50 = (x49 >> 0x1a);
+ uint32_t x51 = ((uint32_t)x49 & 0x3ffffff);
+ uint64_t x52 = (x50 + x32);
+ uint64_t x53 = (x52 >> 0x1a);
+ uint32_t x54 = ((uint32_t)x52 & 0x3ffffff);
+ uint64_t x55 = (x53 + x31);
+ uint64_t x56 = (x55 >> 0x1a);
+ uint32_t x57 = ((uint32_t)x55 & 0x3ffffff);
+ uint64_t x58 = (x56 + x30);
+ uint64_t x59 = (x58 >> 0x1a);
+ uint32_t x60 = ((uint32_t)x58 & 0x3ffffff);
+ uint64_t x61 = (x59 + x29);
+ uint64_t x62 = (x61 >> 0x1a);
+ uint32_t x63 = ((uint32_t)x61 & 0x3ffffff);
+ uint64_t x64 = (x62 + x28);
+ uint64_t x65 = (x64 >> 0x1a);
+ uint32_t x66 = ((uint32_t)x64 & 0x3ffffff);
+ uint64_t x67 = (x65 + x27);
+ uint64_t x68 = (x67 >> 0x1a);
+ uint32_t x69 = ((uint32_t)x67 & 0x3ffffff);
+ uint64_t x70 = (x68 + x26);
+ uint64_t x71 = (x70 >> 0x1a);
+ uint32_t x72 = ((uint32_t)x70 & 0x3ffffff);
+ uint64_t x73 = (x71 + x25);
+ uint64_t x74 = (x73 >> 0x1a);
+ uint32_t x75 = ((uint32_t)x73 & 0x3ffffff);
+ uint64_t x76 = (x39 + (0xf * x74));
+ uint32_t x77 = (uint32_t) (x76 >> 0x1a);
+ uint32_t x78 = ((uint32_t)x76 & 0x3ffffff);
+ uint32_t x79 = (x77 + x42);
+ uint32_t x80 = (x79 >> 0x1a);
+ uint32_t x81 = (x79 & 0x3ffffff);
+ return (Return x75, Return x72, Return x69, Return x66, Return x63, Return x60, Return x57, Return x54, Return x51, Return x48, (x80 + x45), Return x81, Return x78))
x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e338m15/freezeDisplay.log b/src/Specific/solinas32_2e338m15/freezeDisplay.log
index f985a06a6..bc7806bff 100644
--- a/src/Specific/solinas32_2e338m15/freezeDisplay.log
+++ b/src/Specific/solinas32_2e338m15/freezeDisplay.log
@@ -1,50 +1,47 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
Interp-η
(λ var : Syntax.base_type → Type,
- λ '(x25, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x28, uint8_t x29 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffff1);
- uint32_t x31, uint8_t x32 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x29, Return x4, 0xffffff);
- uint32_t x34, uint8_t x35 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x32, Return x6, 0xffffff);
- uint32_t x37, uint8_t x38 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x35, Return x8, 0xffffff);
- uint32_t x40, uint8_t x41 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x38, Return x10, 0xffffff);
- uint32_t x43, uint8_t x44 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x41, Return x12, 0xffffff);
- uint32_t x46, uint8_t x47 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x44, Return x14, 0xffffff);
- uint32_t x49, uint8_t x50 = Op (Syntax.SubWithGetBorrow 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x47, Return x16, 0x1ffffff);
- uint32_t x52, uint8_t x53 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x50, Return x18, 0xffffff);
- uint32_t x55, uint8_t x56 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x53, Return x20, 0xffffff);
- uint32_t x58, uint8_t x59 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x56, Return x22, 0xffffff);
- uint32_t x61, uint8_t x62 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x59, Return x24, 0xffffff);
- uint32_t x64, uint8_t x65 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x62, Return x26, 0xffffff);
- uint32_t x67, uint8_t x68 = Op (Syntax.SubWithGetBorrow 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x65, Return x25, 0xffffff);
- uint32_t x69 = (uint32_t)cmovznz(x68, 0x0, 0xffffffff);
- uint32_t x70 = x69 & 0x1fffff1;
- uint32_t x72, uint8_t x73 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x28, Return x70);
- uint32_t x74 = x69 & 0xffffff;
- uint32_t x76, uint8_t x77 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x73, Return x31, Return x74);
- uint32_t x78 = x69 & 0xffffff;
- uint32_t x80, uint8_t x81 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x77, Return x34, Return x78);
- uint32_t x82 = x69 & 0xffffff;
- uint32_t x84, uint8_t x85 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x81, Return x37, Return x82);
- uint32_t x86 = x69 & 0xffffff;
- uint32_t x88, uint8_t x89 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x85, Return x40, Return x86);
- uint32_t x90 = x69 & 0xffffff;
- uint32_t x92, uint8_t x93 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x89, Return x43, Return x90);
- uint32_t x94 = x69 & 0xffffff;
- uint32_t x96, uint8_t x97 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x93, Return x46, Return x94);
- uint32_t x98 = x69 & 0x1ffffff;
- uint32_t x100, uint8_t x101 = Op (Syntax.AddWithGetCarry 25 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x97, Return x49, Return x98);
- uint32_t x102 = x69 & 0xffffff;
- uint32_t x104, uint8_t x105 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x101, Return x52, Return x102);
- uint32_t x106 = x69 & 0xffffff;
- uint32_t x108, uint8_t x109 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x105, Return x55, Return x106);
- uint32_t x110 = x69 & 0xffffff;
- uint32_t x112, uint8_t x113 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x109, Return x58, Return x110);
- uint32_t x114 = x69 & 0xffffff;
- uint32_t x116, uint8_t x117 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x113, Return x61, Return x114);
- uint32_t x118 = x69 & 0xffffff;
- uint32_t x120, uint8_t x121 = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x117, Return x64, Return x118);
- uint32_t x122 = x69 & 0xffffff;
- uint32_t x124, uint8_t _ = Op (Syntax.AddWithGetCarry 24 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x121, Return x67, Return x122);
- (Return x124, Return x120, Return x116, Return x112, Return x108, Return x104, Return x100, Return x96, Return x92, Return x88, Return x84, Return x80, Return x76, Return x72))
+ λ '(x23, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
+ uint32_t x26, uint8_t x27 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, Const 67108849);
+ uint32_t x29, uint8_t x30 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x27, Return x4, 0x3ffffff);
+ uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x30, Return x6, 0x3ffffff);
+ uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x8, 0x3ffffff);
+ uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x10, 0x3ffffff);
+ uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x12, 0x3ffffff);
+ uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x14, 0x3ffffff);
+ uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x16, 0x3ffffff);
+ uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x18, 0x3ffffff);
+ uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x20, 0x3ffffff);
+ uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x22, 0x3ffffff);
+ uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x24, 0x3ffffff);
+ uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x23, 0x3ffffff);
+ uint32_t x64 = (uint32_t)cmovznz(x63, 0x0, 0xffffffff);
+ uint32_t x65 = (x64 & Const 67108849);
+ uint32_t x67, uint8_t x68 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x26, Return x65);
+ uint32_t x69 = (x64 & 0x3ffffff);
+ uint32_t x71, uint8_t x72 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x68, Return x29, Return x69);
+ uint32_t x73 = (x64 & 0x3ffffff);
+ uint32_t x75, uint8_t x76 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x32, Return x73);
+ uint32_t x77 = (x64 & 0x3ffffff);
+ uint32_t x79, uint8_t x80 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x76, Return x35, Return x77);
+ uint32_t x81 = (x64 & 0x3ffffff);
+ uint32_t x83, uint8_t x84 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x80, Return x38, Return x81);
+ uint32_t x85 = (x64 & 0x3ffffff);
+ uint32_t x87, uint8_t x88 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x84, Return x41, Return x85);
+ uint32_t x89 = (x64 & 0x3ffffff);
+ uint32_t x91, uint8_t x92 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x88, Return x44, Return x89);
+ uint32_t x93 = (x64 & 0x3ffffff);
+ uint32_t x95, uint8_t x96 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x92, Return x47, Return x93);
+ uint32_t x97 = (x64 & 0x3ffffff);
+ uint32_t x99, uint8_t x100 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x96, Return x50, Return x97);
+ uint32_t x101 = (x64 & 0x3ffffff);
+ uint32_t x103, uint8_t x104 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x100, Return x53, Return x101);
+ uint32_t x105 = (x64 & 0x3ffffff);
+ uint32_t x107, uint8_t x108 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x104, Return x56, Return x105);
+ uint32_t x109 = (x64 & 0x3ffffff);
+ uint32_t x111, uint8_t x112 = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x108, Return x59, Return x109);
+ uint32_t x113 = (x64 & 0x3ffffff);
+ uint32_t x115, uint8_t _ = Op (Syntax.AddWithGetCarry 26 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x112, Return x62, Return x113);
+ (Return x115, Return x111, Return x107, Return x103, Return x99, Return x95, Return x91, Return x87, Return x83, Return x79, Return x75, Return x71, Return x67))
x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
diff --git a/src/Specific/solinas32_2e450m2e225m1/freezeDisplay.log b/src/Specific/solinas32_2e450m2e225m1/freezeDisplay.log
index 0b3d9e178..fe356b113 100644
--- a/src/Specific/solinas32_2e450m2e225m1/freezeDisplay.log
+++ b/src/Specific/solinas32_2e450m2e225m1/freezeDisplay.log
@@ -1,56 +1,53 @@
-λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
+λ x : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32,
Interp-η
(λ var : Syntax.base_type → Type,
- λ '(x29, x30, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
- uint32_t x32, uint8_t x33 = Op (Syntax.SubWithGetBorrow 29 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x1fffffff);
- uint32_t x35, uint8_t x36 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x33, Return x4, 0xfffffff);
- uint32_t x38, uint8_t x39 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x36, Return x6, 0xfffffff);
- uint32_t x41, uint8_t x42 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x39, Return x8, 0xfffffff);
- uint32_t x44, uint8_t x45 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x42, Return x10, 0xfffffff);
- uint32_t x47, uint8_t x48 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x45, Return x12, 0xfffffff);
- uint32_t x50, uint8_t x51 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x48, Return x14, 0xfffffff);
- uint32_t x53, uint8_t x54 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x51, Return x16, 0xfffffff);
- uint32_t x56, uint8_t x57 = Op (Syntax.SubWithGetBorrow 29 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x54, Return x18, 0x1ffffffe);
- uint32_t x59, uint8_t x60 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x57, Return x20, 0xfffffff);
- uint32_t x62, uint8_t x63 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x60, Return x22, 0xfffffff);
- uint32_t x65, uint8_t x66 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x63, Return x24, 0xfffffff);
- uint32_t x68, uint8_t x69 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x66, Return x26, 0xfffffff);
- uint32_t x71, uint8_t x72 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x69, Return x28, 0xfffffff);
- uint32_t x74, uint8_t x75 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x72, Return x30, 0xfffffff);
- uint32_t x77, uint8_t x78 = Op (Syntax.SubWithGetBorrow 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x75, Return x29, 0xfffffff);
- uint32_t x79 = (uint32_t)cmovznz(x78, 0x0, 0xffffffff);
- uint32_t x80 = x79 & 0x1fffffff;
- uint32_t x82, uint8_t x83 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x32, Return x80);
- uint32_t x84 = x79 & 0xfffffff;
- uint32_t x86, uint8_t x87 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x83, Return x35, Return x84);
- uint32_t x88 = x79 & 0xfffffff;
- uint32_t x90, uint8_t x91 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x87, Return x38, Return x88);
- uint32_t x92 = x79 & 0xfffffff;
- uint32_t x94, uint8_t x95 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x91, Return x41, Return x92);
- uint32_t x96 = x79 & 0xfffffff;
- uint32_t x98, uint8_t x99 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x95, Return x44, Return x96);
- uint32_t x100 = x79 & 0xfffffff;
- uint32_t x102, uint8_t x103 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x99, Return x47, Return x100);
- uint32_t x104 = x79 & 0xfffffff;
- uint32_t x106, uint8_t x107 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x103, Return x50, Return x104);
- uint32_t x108 = x79 & 0xfffffff;
- uint32_t x110, uint8_t x111 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x107, Return x53, Return x108);
- uint32_t x112 = x79 & 0x1ffffffe;
- uint32_t x114, uint8_t x115 = Op (Syntax.AddWithGetCarry 29 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x111, Return x56, Return x112);
- uint32_t x116 = x79 & 0xfffffff;
- uint32_t x118, uint8_t x119 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x115, Return x59, Return x116);
- uint32_t x120 = x79 & 0xfffffff;
- uint32_t x122, uint8_t x123 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x119, Return x62, Return x120);
- uint32_t x124 = x79 & 0xfffffff;
- uint32_t x126, uint8_t x127 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x123, Return x65, Return x124);
- uint32_t x128 = x79 & 0xfffffff;
- uint32_t x130, uint8_t x131 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x127, Return x68, Return x128);
- uint32_t x132 = x79 & 0xfffffff;
- uint32_t x134, uint8_t x135 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x131, Return x71, Return x132);
- uint32_t x136 = x79 & 0xfffffff;
- uint32_t x138, uint8_t x139 = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x135, Return x74, Return x136);
- uint32_t x140 = x79 & 0xfffffff;
- uint32_t x142, uint8_t _ = Op (Syntax.AddWithGetCarry 28 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x139, Return x77, Return x140);
- (Return x142, Return x138, Return x134, Return x130, Return x126, Return x122, Return x118, Return x114, Return x110, Return x106, Return x102, Return x98, Return x94, Return x90, Return x86, Return x82))
+ λ '(x27, x28, x26, x24, x22, x20, x18, x16, x14, x12, x10, x8, x6, x4, x2)%core,
+ uint32_t x30, uint8_t x31 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x2, 0x3fffffff);
+ uint32_t x33, uint8_t x34 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x31, Return x4, 0x3fffffff);
+ uint32_t x36, uint8_t x37 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x34, Return x6, 0x3fffffff);
+ uint32_t x39, uint8_t x40 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x37, Return x8, 0x3fffffff);
+ uint32_t x42, uint8_t x43 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x40, Return x10, 0x3fffffff);
+ uint32_t x45, uint8_t x46 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x43, Return x12, 0x3fffffff);
+ uint32_t x48, uint8_t x49 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x46, Return x14, 0x3fffffff);
+ uint32_t x51, uint8_t x52 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x49, Return x16, Const 1073709055);
+ uint32_t x54, uint8_t x55 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x52, Return x18, 0x3fffffff);
+ uint32_t x57, uint8_t x58 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x55, Return x20, 0x3fffffff);
+ uint32_t x60, uint8_t x61 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x58, Return x22, 0x3fffffff);
+ uint32_t x63, uint8_t x64 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x61, Return x24, 0x3fffffff);
+ uint32_t x66, uint8_t x67 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x64, Return x26, 0x3fffffff);
+ uint32_t x69, uint8_t x70 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x67, Return x28, 0x3fffffff);
+ uint32_t x72, uint8_t x73 = Op (Syntax.SubWithGetBorrow 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x70, Return x27, 0x3fffffff);
+ uint32_t x74 = (uint32_t)cmovznz(x73, 0x0, 0xffffffff);
+ uint32_t x75 = (x74 & 0x3fffffff);
+ uint32_t x77, uint8_t x78 = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (0x0, Return x30, Return x75);
+ uint32_t x79 = (x74 & 0x3fffffff);
+ uint32_t x81, uint8_t x82 = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x78, Return x33, Return x79);
+ uint32_t x83 = (x74 & 0x3fffffff);
+ uint32_t x85, uint8_t x86 = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x82, Return x36, Return x83);
+ uint32_t x87 = (x74 & 0x3fffffff);
+ uint32_t x89, uint8_t x90 = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x86, Return x39, Return x87);
+ uint32_t x91 = (x74 & 0x3fffffff);
+ uint32_t x93, uint8_t x94 = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x90, Return x42, Return x91);
+ uint32_t x95 = (x74 & 0x3fffffff);
+ uint32_t x97, uint8_t x98 = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x94, Return x45, Return x95);
+ uint32_t x99 = (x74 & 0x3fffffff);
+ uint32_t x101, uint8_t x102 = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x98, Return x48, Return x99);
+ uint32_t x103 = (x74 & Const 1073709055);
+ uint32_t x105, uint8_t x106 = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x102, Return x51, Return x103);
+ uint32_t x107 = (x74 & 0x3fffffff);
+ uint32_t x109, uint8_t x110 = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x106, Return x54, Return x107);
+ uint32_t x111 = (x74 & 0x3fffffff);
+ uint32_t x113, uint8_t x114 = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x110, Return x57, Return x111);
+ uint32_t x115 = (x74 & 0x3fffffff);
+ uint32_t x117, uint8_t x118 = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x114, Return x60, Return x115);
+ uint32_t x119 = (x74 & 0x3fffffff);
+ uint32_t x121, uint8_t x122 = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x118, Return x63, Return x119);
+ uint32_t x123 = (x74 & 0x3fffffff);
+ uint32_t x125, uint8_t x126 = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x122, Return x66, Return x123);
+ uint32_t x127 = (x74 & 0x3fffffff);
+ uint32_t x129, uint8_t x130 = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x126, Return x69, Return x127);
+ uint32_t x131 = (x74 & 0x3fffffff);
+ uint32_t x133, uint8_t _ = Op (Syntax.AddWithGetCarry 30 (Syntax.TWord 3) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 5) (Syntax.TWord 3)) (Return x130, Return x72, Return x131);
+ (Return x133, Return x129, Return x125, Return x121, Return x117, Return x113, Return x109, Return x105, Return x101, Return x97, Return x93, Return x89, Return x85, Return x81, Return x77))
x
- : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)
+ : word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 * word32 → ReturnType (uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t * uint32_t)