def correct_eval_poly(d):
    """This function evaluates the polynomial poly at point x.
    Poly is a list of floats containing the coeficients 
    of the polynomial
    poly[i] -> coeficient of degree i
    
    Parameters
    ----------
    poly: [float]
        Coefficients of the polynomial, 
        where poly[i] -> coeficient of degree i
    x : float
        Point
    
    Returns
    -------
    float
        Value of the polynomial at point x
        
    Example
    -------
    >>> eval_poly( [1.0, 1.0], 2)
    3.0
    """
    poly, x = d["poly"], d['x']   
    result = 0.0
    power = 1
    degree = len(poly) - 1
    i = 0
    while i <= degree:
        result = result + poly[i] * power
        power = power * x 
        i = i + 1
    return (d,result)