Remix.run Logo
kragen 17 hours ago

I wrote:

> So with just 2× = 3.01dB we already know (...) 8, to fairly good precision. (...) (The most imprecise of these is 8: 10⁰·⁹ is about 7.94, which is an error of about -0.7% when the right answer was 8.)

This is slightly mixed up. It's true that approximating 8× as 9dB gives you an 0.7% error. But I was talking about 3.01dB, and approximating 8× as 9.03dB gives 7.998×, only about 0.02% low.

The errors for the logarithms of the 10 digits thus approximated are:

  >>> print('\n'.join([f'  {10*p:.2f}: {100*(10**p-i-1)/(i+1):+.3f}%' for i, p in enumerate([0, .301, .477, .602, .699, .778, .845, .903, .954])]))
  0.00: +0.000%
  3.01: -0.007%
  4.77: -0.028%
  6.02: -0.014%
  6.99: +0.007%
  7.78: -0.035%
  8.45: -0.023%
  9.03: -0.021%
  9.54: -0.056%