Принцип компенсации при суммировании чисел в заданном диапазоне заключается в использовании алгоритма Кэхэна. 14 Он позволяет значительно уменьшить вычислительную погрешность по сравнению с наивным подходом. 1
Уменьшение погрешности достигается введением дополнительной переменной для хранения нарастающей суммы погрешностей. 1 При компенсационном суммировании погрешность даже в худшем случае не зависит от количества слагаемых, так что большое число слагаемых могут быть просуммированы с погрешностью, зависящей только от точности числа с плавающей запятой. 1
Таким образом, сложение происходит в двух переменных: одна хранит сумму, а другая — часть суммы, которая не попала в первую, чтобы быть учтённой на следующей итерации. 1
Авторство алгоритма приписывают Уильяму Кэхэну. 4