We present an exact algorithm that decides, for every fixed r ≥ 2 in time O(m) + 2O(k2 ) whether a given multiset of m clauses of size r admits a truth assignment that satisfies at least ((2r − 1)m + k)/2r clauses. Thus Max-rSat is fixed-parameter tractable when parameterized by the number of satisfied clauses above the tight lower bound (1 − 2−r )m. This solves an open problem of Mahajan, Raman and Sikdar (J. Comput. System Sci., 75, 2009). Our algorithm is based on a polynomial-time data reduction procedure that reduces a problem instance to an equivalent algebraically represented problem with O(k2 ) variables. This is done by representing the instance as an appropriate polynomial, and by applying a probabilistic argument combined with some simple tools from Harmonic analysis to show that if the polynomial cannot be reduced to one of size O(k2 ), then there is a truth assignment satisfying the required number of clauses. We introduce a new notion of bikernelization from ...