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, 0xffffffffffffffe7L);
uint64_t x25, uint8_t x26 = subborrow_u64(x23, x16, 0xffffffffffffffffL);
uint64_t x28, uint8_t x29 = subborrow_u64(x26, x19, 0x1);
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)
|