Procedurally generate a curved normals in shader?

I’ve found this…

And after some study I’ve managed to shrink it to this:

And it looks like this:

216638-shot-171014-101607.png

Still not sure how I should manage the curvature of the normal O__o

Other words how I should do this?

Any ideas?