pub fn sbb(&self, rhs: &Self, mut borrow: u64) -> (Self, u64) {
        let mut limbs = [0; NUM_LIMBS];

        for i in (0..NUM_LIMBS).rev() {
            let (w, b) = Self::sbb_limbs(self.limbs[i], rhs.limbs[i], borrow);
            limbs[i] = w;
            borrow = b;
        }

        (Self { limbs }, borrow)
    }
Computes `a - (b + borrow)`, returning the result along with the new borrow.
crates/math/src/unsigned_integer/element.rs