Sizeof() is compile-time only - no use for values you pass around at runtime.
double is a synonym for float on most Arduinos
Your array wastes half the space as your x points are regularly spaced and don't need to be stored
You could have stored your array in PROGMEM to save RAM.
Quadratic interpolation isn't much harder and much better unless its a straight line in the first place.