def METHOD_NAME(self, x, y, Rs, alpha_Rs, r_trunc, e1, e2, center_x=0, center_y=0):
    """Returns df/dx and df/dy of the function, calculated as an elliptically
    distorted deflection angle of the spherical NFW profile.
    :param x: angular position (normally in units of arc seconds)
    :param y: angular position (normally in units of arc seconds)
    :param Rs: turn over point in the slope of the NFW profile in angular unit
    :param alpha_Rs: deflection (angular units) at projected Rs
    :param r_trunc: truncation radius
    :param e1: eccentricity component in x-direction
    :param e2: eccentricity component in y-direction
    :param center_x: center of halo (in angular units)
    :param center_y: center of halo (in angular units)
    :return: deflection in x-direction, deflection in y-direction
    """
    x_, y_ = param_util.transform_e1e2_square_average(
        x, y, e1, e2, center_x, center_y
    )
    phi_G, q = param_util.ellipticity2phi_q(e1, e2)
    cos_phi = np.cos(phi_G)
    sin_phi = np.sin(phi_G)
    e = param_util.q2e(q)
    # e = abs(1 - q)
    R_ = np.sqrt(x_**2 + y_**2)
    rho0_input = self.tnfw.alpha2rho0(alpha_Rs=alpha_Rs, Rs=Rs)
    Rs = np.maximum(Rs, 0.0000001)
    # if Rs < 0.0000001:
    #    Rs = 0.0000001
    f_x_prim, f_y_prim = self.tnfw.nfwAlpha(R_, Rs, rho0_input, r_trunc, x_, y_)
    f_x_prim *= np.sqrt(1 - e)
    f_y_prim *= np.sqrt(1 + e)
    f_x = cos_phi * f_x_prim - sin_phi * f_y_prim
    f_y = sin_phi * f_x_prim + cos_phi * f_y_prim
    return f_x, f_y