pub open spec fn wrapping_sub(x: u128, y: u128) -> u128
{ if x - y < 0 { (x - y + 0x1_0000_0000_0000_0000_0000_0000_0000_0000) as u128 } else { (x - y) as u128 } }