Use OpenMP when computing interpolated values for a curve. Use std::lower_bound to quickly find a relevant start index, avoids starting from 0 each time.