On some older graphics cards, accessing a const array with variable indices can be very slow. Especially if the array is huge as the concentric in concentric_samples_lib.glsl.
And for some reason, accessing an extensive const array within a loop (while or for) even with constant indexes also has a negative impact on peformanse.
Because of these issues, the shadow_store_frag.glsl shader was very lagged in the gpus AMD Radeon HD 7570M and Intel(R) HD Graphics 4000. So moving any lamp, or navigating with a sun-type lamp was extremely slow.
The solution founded was to unroll the loop that accessed the concentric array and make that access using constant indexes.
The improvement was in the order of seconds to milliseconds. (demonstration)
Thanks to @Clément Foucault (fclem) for pointing out where the problem is and suggesting possible solutions.