Cache RECP_CTX values
make the result argument independent of the inputs.
split up the _exp_ functions