Hi all, I’m working on a lighting post-processor and have a piece of code that does this float multiplication, where `light`

and `strength`

are floats:

`light += strength * max(0, dot(normalize(light_pos - fragment_pos), normal))`

If strength is 0, will the floating point multiplication instantly be evaluated to 0? Or is it worth doing something like this to avoid the expensive dot and normalize calculations:

```
if (strength > 0)
light += strength * max(0, dot(normalize(light_pos - fragment_pos), normal))```
```