pub fn evaluate<E>(&self, x: &FieldElement<E>) -> FieldElement<E>
    where
        E: IsField,
        F: IsSubFieldOf<E>,
    {
        self.coefficients
            .iter()
            .rev()
            .fold(FieldElement::zero(), |acc, coeff| {
                coeff + acc * x.to_owned()
            })
    }
Evaluates a polynomial P(t) at a point x, using Horner's algorithm
Returns y = P(x)
crates/math/src/polynomial/mod.rs