(no title)
098799 | 2 years ago
1.000000003456e0 - 1.000000002345e0 = 0.000000001111e0 = 1.111numericalnoise e-9
It's exactly the same issue here. `math.exp(1e-15)` is `1.000000000000001`. If you subtract 1, you get 1 significant digit and numerical noise.
nneonneo|2 years ago
It’s just that, due to the quirks of the floating point calculations involved, the numerator and denominator wind up being nearly the same noisy approximation to x, whereas in the original calculation that wasn’t true.
kolinko|2 years ago
See comparison between f and g functions.
098799|2 years ago
``` In [1]: math.exp(1e-15)-1 Out[1]: 1.1102230246251565e-15
In [2]: math.log(math.exp(1e-15)) Out[2]: 1.110223024625156e-15 ```
risky business though, I imagine it's implementation dependent