5ef0745be9542287e26e0878290fc320cafccd52
[libfirm] / ir / be / test / kahansum.c
1 float kahanSum(const float A[], int n) {
2         float sum = 0.0, C = 0.0, Y, T;
3         int i;
4
5         for (i = 0; i < n; ++i) {
6                 Y = A[i] - C;
7                 T = sum + Y;
8                 C = T - sum - Y;
9                 sum = T;
10         }
11         return sum;
12 }