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
|
static void femul(uint64_t out[2], const uint64_t in1[2], const uint64_t in2[2]) {
{ const uint64_t x4 = in1[1];
{ const uint64_t x5 = in1[0];
{ const uint64_t x6 = in2[1];
{ const uint64_t x7 = in2[0];
{ uint64_t x10; uint64_t x9 = _mulx_u64(x5, x7, &x10);
{ uint64_t x13; uint64_t x12 = _mulx_u64(x5, x6, &x13);
{ uint64_t x15; uint8_t x16 = _addcarryx_u64(0x0, x10, x12, &x15);
{ uint64_t x18; uint8_t _ = _addcarryx_u64(0x0, x16, x13, &x18);
{ uint64_t x22; uint64_t x21 = _mulx_u64(x9, 0xffffffffffffffffL, &x22);
{ uint64_t x25; uint64_t x24 = _mulx_u64(x9, 0x7fffffffffffffffL, &x25);
{ uint64_t x27; uint8_t x28 = _addcarryx_u64(0x0, x22, x24, &x27);
{ uint64_t x30; uint8_t _ = _addcarryx_u64(0x0, x28, x25, &x30);
{ uint64_t _; uint8_t x34 = _addcarryx_u64(0x0, x9, x21, &_);
{ uint64_t x36; uint8_t x37 = _addcarryx_u64(x34, x15, x27, &x36);
{ uint64_t x39; uint8_t x40 = _addcarryx_u64(x37, x18, x30, &x39);
{ uint64_t x43; uint64_t x42 = _mulx_u64(x4, x7, &x43);
{ uint64_t x46; uint64_t x45 = _mulx_u64(x4, x6, &x46);
{ uint64_t x48; uint8_t x49 = _addcarryx_u64(0x0, x43, x45, &x48);
{ uint64_t x51; uint8_t _ = _addcarryx_u64(0x0, x49, x46, &x51);
{ uint64_t x54; uint8_t x55 = _addcarryx_u64(0x0, x36, x42, &x54);
{ uint64_t x57; uint8_t x58 = _addcarryx_u64(x55, x39, x48, &x57);
{ uint64_t x60; uint8_t x61 = _addcarryx_u64(x58, x40, x51, &x60);
{ uint64_t x64; uint64_t x63 = _mulx_u64(x54, 0xffffffffffffffffL, &x64);
{ uint64_t x67; uint64_t x66 = _mulx_u64(x54, 0x7fffffffffffffffL, &x67);
{ uint64_t x69; uint8_t x70 = _addcarryx_u64(0x0, x64, x66, &x69);
{ uint64_t x72; uint8_t _ = _addcarryx_u64(0x0, x70, x67, &x72);
{ uint64_t _; uint8_t x76 = _addcarryx_u64(0x0, x54, x63, &_);
{ uint64_t x78; uint8_t x79 = _addcarryx_u64(x76, x57, x69, &x78);
{ uint64_t x81; uint8_t x82 = _addcarryx_u64(x79, x60, x72, &x81);
{ uint8_t x83 = (x82 + x61);
{ uint64_t x85; uint8_t x86 = _subborrow_u64(0x0, x78, 0xffffffffffffffffL, &x85);
{ uint64_t x88; uint8_t x89 = _subborrow_u64(x86, x81, 0x7fffffffffffffffL, &x88);
{ uint64_t _; uint8_t x92 = _subborrow_u64(x89, x83, 0x0, &_);
{ uint64_t x93 = cmovznz64(x92, x88, x81);
{ uint64_t x94 = cmovznz64(x92, x85, x78);
out[0] = x94;
out[1] = x93;
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
}
|