В зависимости от количества и распределения пар вы можете вместо этого хранить таблицу T, содержащую только значения Y через равные промежутки времени. Выберите интервал, равный степени 2: i = 2 ^ c. Тогда для данного X:
n=X>>c;
Y= T[n]
Y+= ((T[n+1]-T[n])* (X&(i-1))>>c;
Это должно работать до тех пор, пока у вас есть место для таблицы с достаточно малыми интервалами, чтобы уловить внезапные изменения наклона Y, и достаточный запас по Y для умножения.