[Nexus 5 Themes and Apps] mag01:
So I think I've got the idea of how it works.

First, the order or values is wrong from the "expected" point of view. First value represents highlights, following values continue towards shadows and the last value is for the darkest point.

Second, the progress of the values throughout the brightness range is highly nonlinear, approx first 5 values cover 50% of the range (from the highlight side), the peak which is located around 12th-13th value is at approx 75% of the range and the remaining 10-11 values cover the last 25% of the range (shadows). It isn't very accurate description, but it's roughly something like that. From that you can see that most values cover shadows. That's for the red color that I tested in more detail, though the other 2 will be likely the same.

The shape of the curve approximately matches the real characteristics of the display and its electronics. If you alter any value improperly - modifying the current shape, it puts the whole area around the altered part completely off. The central part will follow the change directly, nearby areas will be usually distorted the opposite way. It looks basically like some analogue distorition. So you have to be cery careful when modifying the default curve, you shouldn't change the shape much (better not at all).

As for negative/positive - they really work independently. Negative values seem to be shifted a little more towards highlights, positive values more towards shadows. The difference isn't very big though, but can be easily seen in the shadow area which is covered by majority of the curve and it's also very sensitive to any changes. However when you don't take that shift into account, then the same change has the same effect for both positives and negatives. This maybe brings slightly more room to make just slight adjustments. Like when you want to change some value by 0.5 then you can change just the positive for example.

Last thing I found out - it's quite strange but it seems as if there are 2 signal paths for each color channel. One for highlights, one for shadows. They seem to be processed (or at least amplified) independently. That's based on my tests when I set the whole range as flat and completely off and looked at the result. It was clear that highlights were affected completely differently than shadows. Exactly in the middle of the range there was huge jump from one state to another one. I can also see see it very slightly with the default settings, but it's negligible in this case. I tried to reduce it by modifying the curve, but to no avail. It's always there.

So the whole thing confirms that modifying like 1-3 values out of 23 (like we can see happening here) is pretty bad idea as it will lead to unnatural color reproduction with artifacts such as banding etc.

I'd start with altering the white point first. Once you can't get closer to desired color balance then you may slightly alter the curves, but always respect their default shapes (which are obviously based on some real measurements).

EDIT: I forgot to add that some values - basically the first 12 before the peak (and maybe not even all of these) - seem to work the opposite way than the rest (higher value causes darker response) - pretty strange. I'll try to test it little more.

By the Way, Anandtech recommended me this app for calibrating with spectrophotometer etc: https://play.google.com/store/apps/details?id=org.projectvoodoo.screentestpatterns