fn operate_with(&self, other: &Self) -> Self {
        // This avoids dropping, which in turn saves us from having to clone the coordinates.
        let (s_affine, o_affine) = (self.to_affine(), other.to_affine());

        let [x1, y1, _] = s_affine.coordinates();
        let [x2, y2, _] = o_affine.coordinates();

        let one = FieldElement::one();
        let (x1y2, y1x2) = (x1 * y2, y1 * x2);
        let (x1x2, y1y2) = (x1 * x2, y1 * y2);
        let dx1x2y1y2 = E::d() * &x1x2 * &y1y2;

        let num_s1 = &x1y2 + &y1x2;
        let den_s1 = &one + &dx1x2y1y2;

        let num_s2 = &y1y2 - E::a() * &x1x2;
        let den_s2 = &one - &dx1x2y1y2;
        // SAFETY: The creation of the result point is safe because the inputs are always points that belong to the curve.
        // We are using that den_s1 and den_s2 aren't zero.
        // See Theorem 3.3 from https://eprint.iacr.org/2007/286.pdf.
        let x_coord = (&num_s1 / &den_s1).unwrap();
        let y_coord = (&num_s2 / &den_s2).unwrap();
        let point = Self::new([x_coord, y_coord, one]);
        point.unwrap()
    }
Computes the addition of `self` and `other` using the Edwards curve addition formula.

This implementation follows Equation (5.38) from "Moonmath" (page 97).

# Safety

- The function assumes both `self` and `other` are valid points on the curve.
- The resulting coordinates are computed using a well-defined formula that
maintains the elliptic curve invariants.
- `unwrap()` is safe because the formula guarantees the result is valid.
crates/math/src/elliptic_curve/edwards/point.rs