Здравствуйте, vadimcher, Вы писали:
V>f(f(0x80000001)) = 0x80000001
Прикольно — ведь я и проверял-то только -1, 0, 1, 0x7fffffff, 0x80000000 и 0x80000001 — но глаз замылился и не увидел это в логе

Т.о. вывод такой — можно сделать эту функцию для всех чисел кроме двух, необязательно 0x80000000 и 0x80000001.
Всего наилучшего