Restore / recreate function reference?

This is perhaps a crazy question! Forgive my ignorance!

I start with something like this:

iex> f = fn -> IO.puts("hi") end
#Function<45.79398840/0 in :erl_eval.expr/5>

I am wondering if I know 45.79398840/0, how is it possible to recreate the function? Something like

new_f = make_function_somehow(45.79398840/0)
new_f.() # "hi"

Is this possible? Is it only possible on the same node? Or not possible at all? Or is it possible to retrieve the original function definition (fn -> IO.puts("hi") end)?

Thank you in advance!