aboutsummaryrefslogtreecommitdiff
path: root/src/Specific/montgomery64_2e224m2e96p1_4limbs/femulDisplay.log
blob: 7482561e4c4b6213a4c33c2ebbfae8fab7c22509 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
λ x x0 : word64 * word64 * word64 * word64,
Interp-η
(λ var : Syntax.base_type → Type,
 λ '(x8, x9, x7, x5, (x14, x15, x13, x11))%core,
 uint64_t x17, uint64_t x18 = mulx_u64(x5, x11);
 uint64_t x20, uint64_t x21 = mulx_u64(x5, x13);
 uint64_t x23, uint64_t x24 = mulx_u64(x5, x15);
 uint64_t x26, uint64_t x27 = mulx_u64(x5, x14);
 uint64_t x29, uint8_t x30 = addcarryx_u64(0x0, x18, x20);
 uint64_t x32, uint8_t x33 = addcarryx_u64(x30, x21, x23);
 uint64_t x35, uint8_t x36 = addcarryx_u64(x33, x24, x26);
 uint64_t x38, uint8_t _ = addcarryx_u64(0x0, x36, x27);
 uint64_t x41, uint64_t _ = mulx_u64(x17, 0xffffffffffffffffL);
 uint64_t x44, uint64_t x45 = mulx_u64(x41, 0xffffffff00000000L);
 uint64_t x47, uint64_t x48 = mulx_u64(x41, 0xffffffffffffffffL);
 uint64_t x50, uint64_t x51 = mulx_u64(x41, 0xffffffff);
 uint64_t x53, uint8_t x54 = addcarryx_u64(0x0, x45, x47);
 uint64_t x56, uint8_t x57 = addcarryx_u64(x54, x48, x50);
 uint64_t x59, uint8_t _ = addcarryx_u64(0x0, x57, x51);
 uint64_t _, uint8_t x63 = addcarryx_u64(0x0, x17, x41);
 uint64_t x65, uint8_t x66 = addcarryx_u64(x63, x29, x44);
 uint64_t x68, uint8_t x69 = addcarryx_u64(x66, x32, x53);
 uint64_t x71, uint8_t x72 = addcarryx_u64(x69, x35, x56);
 uint64_t x74, uint8_t x75 = addcarryx_u64(x72, x38, x59);
 uint64_t x77, uint64_t x78 = mulx_u64(x7, x11);
 uint64_t x80, uint64_t x81 = mulx_u64(x7, x13);
 uint64_t x83, uint64_t x84 = mulx_u64(x7, x15);
 uint64_t x86, uint64_t x87 = mulx_u64(x7, x14);
 uint64_t x89, uint8_t x90 = addcarryx_u64(0x0, x78, x80);
 uint64_t x92, uint8_t x93 = addcarryx_u64(x90, x81, x83);
 uint64_t x95, uint8_t x96 = addcarryx_u64(x93, x84, x86);
 uint64_t x98, uint8_t _ = addcarryx_u64(0x0, x96, x87);
 uint64_t x101, uint8_t x102 = addcarryx_u64(0x0, x65, x77);
 uint64_t x104, uint8_t x105 = addcarryx_u64(x102, x68, x89);
 uint64_t x107, uint8_t x108 = addcarryx_u64(x105, x71, x92);
 uint64_t x110, uint8_t x111 = addcarryx_u64(x108, x74, x95);
 uint64_t x113, uint8_t x114 = addcarryx_u64(x111, x75, x98);
 uint64_t x116, uint64_t _ = mulx_u64(x101, 0xffffffffffffffffL);
 uint64_t x119, uint64_t x120 = mulx_u64(x116, 0xffffffff00000000L);
 uint64_t x122, uint64_t x123 = mulx_u64(x116, 0xffffffffffffffffL);
 uint64_t x125, uint64_t x126 = mulx_u64(x116, 0xffffffff);
 uint64_t x128, uint8_t x129 = addcarryx_u64(0x0, x120, x122);
 uint64_t x131, uint8_t x132 = addcarryx_u64(x129, x123, x125);
 uint64_t x134, uint8_t _ = addcarryx_u64(0x0, x132, x126);
 uint64_t _, uint8_t x138 = addcarryx_u64(0x0, x101, x116);
 uint64_t x140, uint8_t x141 = addcarryx_u64(x138, x104, x119);
 uint64_t x143, uint8_t x144 = addcarryx_u64(x141, x107, x128);
 uint64_t x146, uint8_t x147 = addcarryx_u64(x144, x110, x131);
 uint64_t x149, uint8_t x150 = addcarryx_u64(x147, x113, x134);
 uint8_t x151 = (x150 + x114);
 uint64_t x153, uint64_t x154 = mulx_u64(x9, x11);
 uint64_t x156, uint64_t x157 = mulx_u64(x9, x13);
 uint64_t x159, uint64_t x160 = mulx_u64(x9, x15);
 uint64_t x162, uint64_t x163 = mulx_u64(x9, x14);
 uint64_t x165, uint8_t x166 = addcarryx_u64(0x0, x154, x156);
 uint64_t x168, uint8_t x169 = addcarryx_u64(x166, x157, x159);
 uint64_t x171, uint8_t x172 = addcarryx_u64(x169, x160, x162);
 uint64_t x174, uint8_t _ = addcarryx_u64(0x0, x172, x163);
 uint64_t x177, uint8_t x178 = addcarryx_u64(0x0, x140, x153);
 uint64_t x180, uint8_t x181 = addcarryx_u64(x178, x143, x165);
 uint64_t x183, uint8_t x184 = addcarryx_u64(x181, x146, x168);
 uint64_t x186, uint8_t x187 = addcarryx_u64(x184, x149, x171);
 uint64_t x189, uint8_t x190 = addcarryx_u64(x187, x151, x174);
 uint64_t x192, uint64_t _ = mulx_u64(x177, 0xffffffffffffffffL);
 uint64_t x195, uint64_t x196 = mulx_u64(x192, 0xffffffff00000000L);
 uint64_t x198, uint64_t x199 = mulx_u64(x192, 0xffffffffffffffffL);
 uint64_t x201, uint64_t x202 = mulx_u64(x192, 0xffffffff);
 uint64_t x204, uint8_t x205 = addcarryx_u64(0x0, x196, x198);
 uint64_t x207, uint8_t x208 = addcarryx_u64(x205, x199, x201);
 uint64_t x210, uint8_t _ = addcarryx_u64(0x0, x208, x202);
 uint64_t _, uint8_t x214 = addcarryx_u64(0x0, x177, x192);
 uint64_t x216, uint8_t x217 = addcarryx_u64(x214, x180, x195);
 uint64_t x219, uint8_t x220 = addcarryx_u64(x217, x183, x204);
 uint64_t x222, uint8_t x223 = addcarryx_u64(x220, x186, x207);
 uint64_t x225, uint8_t x226 = addcarryx_u64(x223, x189, x210);
 uint8_t x227 = (x226 + x190);
 uint64_t x229, uint64_t x230 = mulx_u64(x8, x11);
 uint64_t x232, uint64_t x233 = mulx_u64(x8, x13);
 uint64_t x235, uint64_t x236 = mulx_u64(x8, x15);
 uint64_t x238, uint64_t x239 = mulx_u64(x8, x14);
 uint64_t x241, uint8_t x242 = addcarryx_u64(0x0, x230, x232);
 uint64_t x244, uint8_t x245 = addcarryx_u64(x242, x233, x235);
 uint64_t x247, uint8_t x248 = addcarryx_u64(x245, x236, x238);
 uint64_t x250, uint8_t _ = addcarryx_u64(0x0, x248, x239);
 uint64_t x253, uint8_t x254 = addcarryx_u64(0x0, x216, x229);
 uint64_t x256, uint8_t x257 = addcarryx_u64(x254, x219, x241);
 uint64_t x259, uint8_t x260 = addcarryx_u64(x257, x222, x244);
 uint64_t x262, uint8_t x263 = addcarryx_u64(x260, x225, x247);
 uint64_t x265, uint8_t x266 = addcarryx_u64(x263, x227, x250);
 uint64_t x268, uint64_t _ = mulx_u64(x253, 0xffffffffffffffffL);
 uint64_t x271, uint64_t x272 = mulx_u64(x268, 0xffffffff00000000L);
 uint64_t x274, uint64_t x275 = mulx_u64(x268, 0xffffffffffffffffL);
 uint64_t x277, uint64_t x278 = mulx_u64(x268, 0xffffffff);
 uint64_t x280, uint8_t x281 = addcarryx_u64(0x0, x272, x274);
 uint64_t x283, uint8_t x284 = addcarryx_u64(x281, x275, x277);
 uint64_t x286, uint8_t _ = addcarryx_u64(0x0, x284, x278);
 uint64_t _, uint8_t x290 = addcarryx_u64(0x0, x253, x268);
 uint64_t x292, uint8_t x293 = addcarryx_u64(x290, x256, x271);
 uint64_t x295, uint8_t x296 = addcarryx_u64(x293, x259, x280);
 uint64_t x298, uint8_t x299 = addcarryx_u64(x296, x262, x283);
 uint64_t x301, uint8_t x302 = addcarryx_u64(x299, x265, x286);
 uint8_t x303 = (x302 + x266);
 uint64_t x305, uint8_t x306 = subborrow_u64(0x0, x292, 0x1);
 uint64_t x308, uint8_t x309 = subborrow_u64(x306, x295, 0xffffffff00000000L);
 uint64_t x311, uint8_t x312 = subborrow_u64(x309, x298, 0xffffffffffffffffL);
 uint64_t x314, uint8_t x315 = subborrow_u64(x312, x301, 0xffffffff);
 uint64_t _, uint8_t x318 = subborrow_u64(x315, x303, 0x0);
 uint64_t x319 = cmovznz64(x318, x314, x301);
 uint64_t x320 = cmovznz64(x318, x311, x298);
 uint64_t x321 = cmovznz64(x318, x308, x295);
 uint64_t x322 = cmovznz64(x318, x305, x292);
 return (x319, x320, x321, x322))
(x, x0)%core
     : word64 * word64 * word64 * word64 → word64 * word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t * uint64_t)