# V810. Decreased performance. The 'A' function was called several times with identical arguments. The result should possibly be saved to a temporary variable, which then could be used while calling the 'B' function.

The analyzer has found some code that can be optimized. The code contains a call of a function which accepts as its arguments several calls of one and the same function with identical arguments.

Consider the following sample:

    ....
    init(cos(-roty), sin(-roty),
         -sin(-roty), cos(-roty));
    ....

The call of such a function works slowly, while this effect will be intensified if this code fragment is placed inside a loop. You'd better rewrite this code. For instance, you may create a temporary variable:

    ....
    double cos_r = cos(-roty);
    double sin_r = sin(-roty);
    init(cos_r, sin_r, -sin_r, cos_r);
    ....

You cannot always change the code that way, of course. Moreover, this refactoring doesn't always guarantee that you get a performance gain. But such optimizations may be very helpful sometimes.