Zakaz przepełnienia, w zmiennoprzecinkowym, x + x + xjest dokładnie zaokrągloną (tj. Najbliższą) liczbą zmiennoprzecinkową do rzeczywistej 3 * x, x + x + x + xwynosi dokładnie 4 * xi x + x + x + x + xponownie jest poprawnie zaokrąglonym przybliżeniem zmiennoprzecinkowym dla 5 * x.
Pierwszy wynik x + x + xwynika z faktu, że x + xjest dokładny. x + x + xjest zatem wynikiem tylko jednego zaokrąglenia.
Drugi wynik jest trudniejszy, jeden z jego wykazów omówiono tutaj (a Stephen Canon nawiązuje do innego dowodu poprzez analizę przypadku na ostatnich 3 cyfrach x). Podsumowując, albo 3 * xjest w tej samej binadzie co 2 * xalbo jest w tej samej binadzie co 4 * x, iw każdym przypadku można wywnioskować, że błąd trzeciego dodawania anuluje błąd drugiego dodawania ( pierwszy dodatek jest dokładny, jak już powiedzieliśmy).
Trzeci wynik, „ x + x + x + x + xjest prawidłowo zaokrąglony”, pochodzi z drugiego w taki sam sposób, w jaki pierwszy wynika z dokładności x + x.
Drugi wynik wyjaśnia, dlaczego 0.1 + 0.1 + 0.1 + 0.1jest to liczba zmiennoprzecinkowa: liczby 0.4wymierne 1/10 i 4/10 są aproksymowane w ten sam sposób, z tym samym błędem względnym, po konwersji na zmiennoprzecinkowe. Te liczby zmiennoprzecinkowe mają stosunek dokładnie 4 między nimi. Pierwszy i trzeci wynik pokazują, że 0.1 + 0.1 + 0.1i 0.1 + 0.1 + 0.1 + 0.1 + 0.1można oczekiwać, że będą miały mniej błędów, niż można by wywnioskować na podstawie naiwnej analizy błędów, ale same w sobie odnoszą się one tylko do wyników odpowiednio 3 * 0.1i 5 * 0.1, co do których można oczekiwać, że będą bliskie, ale niekoniecznie identyczne z 0.3i 0.5.
Jeśli będziesz kontynuować dodawanie 0.1po czwartym dodaniu, w końcu zauważysz błędy zaokrągleń, które powodują, że „ 0.1dodane do siebie n razy” odbiegają n * 0.1od n / 10, a jeszcze bardziej odbiegają od n / 10. Gdybyś miał wykreślić wartości „0,1 dodane do siebie n razy” jako funkcję n, zobaczyłbyś linie o stałym nachyleniu w binadach (gdy tylko wynik n-tego dodania ma wpaść do określonej binady, można oczekiwać, że właściwości dodatku będą podobne do poprzednich dodatków, które dały wynik w tej samej binadzie). W tej samej binadzie błąd będzie się zwiększał lub zmniejszał. Gdybyś spojrzał na sekwencję zboczy od binade do binade, rozpoznałbyś powtarzające się cyfry0.1binarnie przez chwilę. Po tym nastąpiłaby absorpcja i krzywa byłaby płaska.