Enter the degree of the polynomial (a power of 2 minus 1). FFT generates a random polynomial with coefficients in a finite field and computes its discrete fourier transform. CONFIDENCE is used to enter the confidence to be used by the checkers. LINEARITY TEST checks if the program respects the linearity property. There are two types of neighborhood tests: (i) the naive GENERATOR test that tests the property at all the generators and (ii) the faster INDUCTION test that uses the bottleneck ideas. SELF-CORRECTOR uses the program, if it is mostly correct, to compute the correct value of the discrete fourier transform. CHECKER combines the self-tester and self-corrector.



source file.