RiskyRisky, 14 bytes
__-+_-2{[?+_0:__0+_0+__?+_0
Explanation:
__-+_-
:-2
, written as-1 + -1
with padding2
: Power{[?+_0
:log_2(abs(input))
, with+_0
as padding:
: Equals__0+_0+__?+_0
: Input (?
), with padding
So basically, -2 ** log_2(abs(input)) == input