Yes, I’ve also seen some instability if relative white (or black, but that’s probably very rare) is low.
- If you have your relative black exposure set to -10 EV, white to +2 EV, you map the 12 EV into the 0…1 interval; a value difference of 1 EV is mapped to the log difference of 1/12 = 0.0833…
- Middle grey is then 10 EV above black, so its log-mapped value is x = 10/12 = 0.8333.
- If your slope is set to 2.4, your y level (output) can change at most 2.4 * 2/12 = 0.4.
- For reason’s I don’t yet understand, internally an output value of 0.18 ^ (1/2.2) = about 0.46 represents mid grey (the value it is converted back to 0.18 at the end of the mapping).
So, you start from mid-grey y = 0.46, can go dy = 0.4 until you hit the right edge of the exposure range. Your max. output value is therefore 0.86, even if you don’t have a shoulder at all. This causes the shoulder calculation to fail.
You can put all those numbers into the plot I linked above:
I will look into this next week.