It's definitely not a linear function; at least, if your function outputs are exact. I used the three data points

30, 60, 300, 58

30, 64, 300, 60

20, 66, 220, 48

to obtain the function

This function does not satisfy all the data points, hence the function is not linear (as is).

You can see just by looking at the data that the function is not linear. In the first six data points, you're increasing the y component by the same amount each time, but the function value does not go up by the same amount each time.

Question, though: are these function outputs rounded off in any way? The behavior I'm seeing there would be reasonably linear if there was some rounding going on. Is there any way you can give me more significant figures?