def METHOD_NAME(self, x):
    """Summary of eval
    Some additonal explanation of the eval function
    Args:
        x (float): Input x
    Returns:
        Some return value which was a list
    """
    y = (x - 0.5 * (self.hi + self.lo)) / (0.5 * (self.hi - self.lo))
    T0 = 1
    T1 = y
    s = [0.5 * c[0] * T0 for c in self.coeffs]
    for i, c in enumerate(self.coeffs):
        s[i] += c[1] * T1
    Tn = T1
    Tnm = T0
    for i in range(2, self.morder):
        Tnp = 2 * y * Tn - Tnm
        Tnm = Tn
        Tn = Tnp
        for j in range(self.n):
            if len(self.coeffs[j]) > i:
                s[j] += Tn * self.coeffs[j][i]
    return undo_list(s)