jensH is correct, the IF node is not for static use, so you probably make it worse in this case by trying to use simple math on backfaces.
For your situation you need to separate the backfaces into a separate material ID or mesh, so they can use a different material (or an instance of that material, with static switches used to truly turn off all the calculations you don’t need on the backfaces).
Apparently the IF statement can take advantage of some graphics hardware with some kind of “branch prediction”, so in runtime it could possibly help a little, depending on the hardware. You won’t see that show up in the instruction count or shader complexity view though, and from what I hear (from Epic staff explanations), in practice it mostly seems to just calculate both branches of the IF statement all the time. So personally I use Lerps instead, so I know exactly what the performance is going to be (and it avoids some further possible problems with IF statements that can occur on hardware like PS3 for example).