Flags for kind casting warning for parameters?

I’m just guessing, but I think the lj_potential_const*epsilon product is evaluated at compile time in one case and at run time in the other. The compile time evaluation probably bypasses the conversion warnings.

This is a little outside of my field of expertise, but when I look at codes that need to compute LJ potentials efficiently, they usually factor that expression so that all the exponentials are replaced with simple multiplications. You might expect a compiler to do some of that automatically, but probably not all of it.