aboutsummaryrefslogtreecommitdiff
path: root/src/Specific/montgomery64_2e137m13_3limbs/feaddDisplay.log
blob: 656a4babefa49b0b760da9bc80f70c8e032ef61c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
λ x x0 : word64 * word64 * word64,
Interp-η
(λ var : Syntax.base_type → Type,
 λ '(x6, x7, x5, (x10, x11, x9))%core,
 uint64_t x13, uint8_t x14 = addcarryx_u64(0x0, x5, x9);
 uint64_t x16, uint8_t x17 = addcarryx_u64(x14, x7, x11);
 uint64_t x19, uint8_t x20 = addcarryx_u64(x17, x6, x10);
 uint64_t x22, uint8_t x23 = subborrow_u64(0x0, x13, 0xfffffffffffffff3L);
 uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
 uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x1ff);
 uint64_t _, uint8_t x32 = subborrow_u64(x29, x20, 0x0);
 uint64_t x33 = cmovznz64(x32, x28, x19);
 uint64_t x34 = cmovznz64(x32, x25, x16);
 uint64_t x35 = cmovznz64(x32, x22, x13);
 return (x33, x34, x35))
(x, x0)%core
     : word64 * word64 * word64 → word64 * word64 * word64 → ReturnType (uint64_t * uint64_t * uint64_t)