λ x x0 : word64 * word64, Interp-η (λ var : Syntax.base_type → Type, λ '(x4, x5, (x6, x7))%core, uint64_t x9, uint8_t x10 = subborrow_u64(0x0, x5, x7); uint64_t x12, uint8_t x13 = subborrow_u64(x10, x4, x6); uint64_t x14 = cmovznz64(x13, 0x0, 0xffffffffffffffffL); uint64_t x15 = (x14 & 0xffffffffffffffffL); uint64_t x17, uint8_t x18 = addcarryx_u64(0x0, x9, x15); uint64_t x19 = (x14 & 0x7fffffffffffffffL); uint64_t x21, uint8_t _ = addcarryx_u64(x18, x12, x19); (Return x21, Return x17)) (x, x0)%core : word64 * word64 → word64 * word64 → ReturnType (uint64_t * uint64_t)