Notice this from here: http://cgit.freedesktop.org/mesa/mesa/commit/?id=847bc36a38d42967ad6bf0492fe90a4892d9d799 Intel Haswell GPU is 24 cycles for POW and 14 cycles for EXP2. Maybe other GPUs don't optimize this either. Just be safe.
Bindung locations after compiling a shader stalls the driver. So if we manage not to bind anything after compilation, the lag would be reduced much.