I wonder if Ada can beat C here?

It seems to rely on FFT. So the question is what range and accuracy is required. In general fixed-point is not good for such stuff, but there might be specificalities.