1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
λ x x0 : word128 * word128,
Interp-η
(λ var : Syntax.base_type → Type,
λ '(x4, x5, (x6, x7))%core,
uint128_t x9, uint8_t x10 = subborrow_u128(0x0, x5, x7);
uint128_t x12, uint8_t x13 = subborrow_u128(x10, x4, x6);
uint128_t x14 = (uint128_t) (x13 == 0 ? 0x0 : 0xffffffffffffffffffffffffffffffffL);
uint128_t x15 = x14 & 0xffffffffffffffffffffffffL;
uint128_t x17, uint8_t x18 = addcarryx_u128(0x0, x9, x15);
uint128_t x19 = x14 & 0xffffffff000000010000000000000000L;
uint256_t x20 = 0x100000000000000000000000000000000L * x13;
ℤ x21 = Op (Syntax.Opp (Syntax.TWord 8) Syntax.TZ) (Return x20);
uint128_t x23, ℤ _ = addcarryx_u128ℤ(x12, x21, x19);
uint128_t x26, uint8_t _ = addcarryx_u128(0x0, x18, x23);
(Return x26, Return x17))
(x, x0)%core
: word128 * word128 → word128 * word128 → ReturnType (uint128_t * uint128_t)
|