Это полностью зависит от того, что происходит внутри исходных функций.
Для простого вычисления, такого как пример в вашем вопросе, можно написать обратную функцию для него, чтобы определить ввод, который дал данный вывод. Для вашего примера просто деление должно работать надежно:
function un_calculatex($value) {
return $value / 2;
}
echo un_calculatex(8); // 4
Но вы сможете сделать это только в том случае, если исходная функция выдает ровно один уникальный вывод для каждого входа. Очень легко написать функцию, которая этого не делает, и если какая-либо из ваших функций похожа на это, на самом деле нет никакого способа надежно вернуться к исходному вводу. Пара простых примеров:
function example1($a) {
return ($a < 5) ? ($a * 2) : $a;
}
echo example1(3); // 6
echo example1(6); // 6
function example2($b) {
return $b * $b;
}
echo example2(2); // 4
echo example2(-2); // 4
function example3($c) {
return (time() % 5) + $c;
}
echo example3(42); // who knows
Вам придется просмотреть каждую из ваших первоначальных функций, чтобы определить, возможна ли она.