The mapping between the two is monotonic, non-linear, and can be stationary. If the tempo map is allowed to contain ramps (accelerando and ritardando in music speak), there are implicitly exponential sections in the function that maps between them.
Using floating point arithmetic leads to errors that have immediate effects. A musical time that should be considered to be at sample N is instead considered to be at sample N-1 or N+1.
It's surprisingly hard to do it correctly.