Solution 1:

I think the difference between the two types of examples that you've exhibited is the relative placement in time of the action in the "if" clause, and the action in the other clause.

  • If it rains in the evening, we won't go for a walk - here, the event of raining occurs BEFORE the decision about whether to go for a walk.
  • My teeth will rot if I eat too much sugar - presumably, I'll be eating the sugar BEFORE my teeth rot.
  • If it will significantly increase complexity, don't implement this feature - here, the increasing of complexity occurs AFTER the implementation of the feature.
  • I will give you money if it will make you happier - here, you becoming happier occurs AFTER I give you the money.

In all the cases where the "if" part happens first chronologically, we use the present tense. In the cases where the "if" part happens second, we use the future tense. However, because sentences of the first type are far more common than sentences in the second type, a good rule for learners to adopt is "don't use the future tense with IF".

Solution 2:

In some cases, it is possible to use "will" in "if" sentences to imply

A) willingness

If you'll just hold the door open for me a moment, I can take this table out to the kitchen.

B) obstinate persistence

If you will keep all the windows shut, of course you'll get headaches

C) if the "if" action is after the main action, will (or an equivalent expression indicating the Future) is used in the if clause

If aspirins will cure it, I'll take a couple tonight.

Please check Wikipedia and lingua.org and a page from Berkeley

Edit 1 Per @Brett Reynolds and @Peter Shor

As far as I can see, "will" may first impose a change in the order of actions and then "both "will" and "order of action" contribute to meaning. The contribution depends on context and may imply "a willingness", "a persistence" "a wish", "a prediction" e.t.c. Please compare:

I will give money if you will do it.

I will give money if you do it.

Solution 3:

The first thing to say is that English has no future tense. (This sometimes comes as a surprise.) There are, however, various ways of expressing the future and will + the plain form of the main verb is one of them.

It’s true that that construction is not found in the if clause of conditional sentences such as your first example (‘If it rains in the evening . . .’). However, there are occasions when it is used, particularly where will expresses volition, as in ‘If you will follow me, I’ll take you to your table.’ That could be expressed as ‘If you follow me, . . .’, but the construction with will adds a degree of politeness. Your example ‘I will give you the money if it will make you happier’ is similar. That could also be expressed as ‘. . . if it makes you happier’, but here the will construction softens what might otherwise be a harsh remark. It assumes (or, for the sake of kindness, appears to assume) a greater probability that the condition will be met.

Much the same applies in your example ‘Don't implement this feature if it will significantly increase the complexity of the user interface.’ It, too, could be written with ‘. . . if it significantly increases . . .’ By using the will construction, however, the writer to some extent prejudges the chance that the complexity of the interface will be increased if the instruction is ignored.

The authors of the ‘Cambridge Grammar of English' sum up these constructions when they write:

Modal verbs (most typically will or would) may occur in conditional clauses if they have a meaning of willingness or prediction, or where it is important to mark politeness.

Solution 4:

Your intuition is correct and the "rule" is the problem. The misunderstanding arises partially, at least, from the idea English even has a future tense. It doesn't. What it does have, however, is modal auxiliary verbs like will, may, and can, which typically have future time reference.

In fact, the problem only resides with certain modals (mainly will, may, might, and could) when they are used to express probability. Thus, it could rain tomorrow doesn't work as *if it could rain tomorrow, but you could help me tomorrow, couldn't you easily becomes if you could help me tomorrow because could here is denoting ability or willingness rather than probability. Note that this also holds true for present and past time as well as future time.

In if it will make you happier, the speaker is not predicting that it will make you happier. That is taken for granted. That's why you can respond "It does/will. It makes/will make me happier."

Similarly, if it will significantly increase the complexity of the user interface does not involve a prediction. Unlike in the case of rain, where it is simply impossible for anybody to know, here it is merely unknown to the person giving the advice, but it is taken for granted that the receiver of that advice knows the effect that "it" will have.

This also, by the way, explains why the so-called "going-to future" isn't a problem. I discuss this point here.