
У чисельних методах, нищівне скасування — це явище коли віднімання двох хороших наближень двох близьких чисел може породити дуже погане наближення різниці двох початкових чисел.

Наприклад, якщо маємо дві дошки, одна  завдовшки, а інша  завдовжки, і ми виміряємо їх лінійкою, точність якої лише сантиметр, тоді наближення будуть  і . Ці наближення можуть бути хорошими у сенсі відносної похибки, до справжніх довжин: наближення відхились менш ніж на 2 % від справжніх довжин, .

Однак, якщо наближені довжини відняти, то різниця буде , хоча справжня різниця між довжинами становить . Різниця між наближенням, , має похибку в 100% від розміру різниці справжніх значень, .

Нищівне скасування може статись навіть якщо різниця обчислена точно, як у прикладі вище — це не властивість якогось певного різновиду арифметики як-от з рухомою комою; радше це притаманне відніманню, коли входи це наближення. Насправді, в арифметиці з рухомою комою, коли входи достатньо близькі, вислід обчислення різниці точний, згідно з  немає похибки заокруглення через дію віднімання з рухомою точкою.

Формальний розгляд
Формально, нищівне знищення відбувається, бо віднімання погано обумовлене на близьких входах: навіть, якщо наближення  і  мають малі відносні похибки  і  щодо справжніх значень  і , відповідно, відносна похибка наближеної різниці  від справжньої різниці  зворотно пропорційна справжній різниці:



Отже, відносна похибка точної різниці наближень  щодо різниці справжніх чисел  це



І вона може бути наскільки завгодно великою якщо справжні числа  і  близькі.

У числових алгоритмах

Приклад: Різниця квадратів
Маючи числа  і , наївна спроба обчислити математичну функцію

з використанням арифметики з рухомою точкою

призведе до нищівного скасування, якщо  і  близькі величини, бо віднімання може виявити похибки заокруглення під час піднесення до квадрату.
Альтернативне представлення
,
обчислене в арифметиці з рухомою точкою таким чином
,
уникає нищівного скасування, бо уникає похибки заокруглення.

Наприклад, якщо

і
,
тоді справжнє значення різниці

це
.
В арифметиці IEEE 754 binary64, обчислення

дає правильний результат (без округлення), тоді як обчислення наївного виразу

повертає таке число з рухомою точкою
,
де правильні менш ніж половина цифр, а інші (підкреслені) цифри відображають загублені доданки , втрачені через заокруглення під час обчислення проміжних квадратних значень.

Примітки


