As Henri said in the bug report, we can just declare the LC* uniform instead of constant and load them once at program link time. This way we loose the ability to tell the compiler about the constants, but I doubt this changes anything, but we can simply pass a float * to opengl witohut having to convert to a text. For ARB shaders we can use the program-local environment and load it at compilation time.