Тестирование не докажет, что две функции эквивалентны. Вот что докажет.
N-версионное программирование предполагает, что ваши реализации согласованы. Мы разбираем, почему тестов недостаточно, как SMT-солверы могут реально доказать эквивалентность и где провести границу между «достаточно хорошо» и формально верифицировано.