The enclosed patch parallelises AEILocalInterp via OpenMP.
This leads to a slight change in behaviour. Currently, AEILocalInterp traverses the list of points sequentially, and aborts when the first error is encountered. After parallelisation, there is no fixed order in which the points are traversed, and if several errors are encountered, any one of the errors may be returned, not necessarily the first. I am not aware of any thorn that would or should rely on such an ordering.
This patch also adds "restrict" and "const" statements that may improve performance as it gives the compiler more information about dependencies between pointers.