See also: Approximate inverse of a definite integral - #3 by stevengj
For a smooth function, you can get exponential convergence on a finite interval by evaluating on a Chebyshev grid and then interpolating with a polynomial, ala ApproxFun.jl or FastChebInterp.jl (as in the above post).
But I guess you have already thought about Chebyshev polynomials?
Just subtract off the asymptotes and approximate the what’s left? Oh, I see that you already thought of this:
FastChebInterp.jl should be AD-friendly (it works with ForwardDiff, and it also hooks into ChainRules.jl to expose its own optimized derivatives to AD).