``++std::midpoint(a, b)++`` computes the midpoint, or average, or arithmetic mean of two values ``++a++`` and ``++b++``: ``++(a+b)/2++``. The result is halfway from ``++a++`` to ``++b++``, and if ``++a++`` and ``++b++`` are pointers, it points to the middle of a contiguous memory segment between the two. A naive midpoint computation might suffer from a possible overflow or be inefficient. That is why, in most cases, ``++std::midpoint++`` is preferable.
``++std::lerp(a, b, t)++`` returns linear interpolation between values ``++a++`` and ``++b++`` with a coefficient ``++t++``: ``++a+t*(a-b)++``, where ``++t++`` is between 0 and 1.
This rule reports computations that should be replaced with ``++std::midpoint++`` or ``++std::lerp++``.