I don't think is possible for floating point numbers, for example implementation of exp(float32) and exp(float64) is widely different and float32(exp(float64)) is not equal to exp(float32).
And this property holds for most floating point functions: log, sin, cos, sihn, erfc and many others. You will always have to have 2 libraries: one for float32 and one for float64. I results they produce will never match.
