Я не вижу ни одного участка где все три производных имеют один знак.
Производные нельзя брать, или, точнее, надо брать производные у

функций, потому что перестановкой любых спектральных полос получим настолько же оптимальные чувствительности (я об этом раза три уже написал специально) — в точности из-за того, что тренировались мы на монохроматических кошках, занимающих каждая по одной полосе ровно. На нормальных спектрах такого чуда не будет.
А почему оптимизатор выдаёт именно такие функции, когда мог бы более гладкие — ну, не знаю, я ему честно переменные, соответствующие спектральным чувствительностям, по длинам волн упорядочивал, а только потом по тому, чьи они. Видимо, он внутри переставляет эти переменные или ещё что, или просто алгоритм
слишком хитрый (что понятно — претендует на широкую применимость, одна махина на все случаи).