The first log tables were laboriously hand calculated once, and then apparently cut'n'pasted from one application to another for the following three centuries:
all logarithm tables for three hundred years were borrowed from Mr. Briggs’ tables by reducing the number of decimal places
Today, computation is too cheap to meter and one can program the necessary calculation, even without import math
, in a matter of minutes. Obtaining the patterns required to make the insights necessary to get to \( \mathbb{C} \) when given \( \mathbb{N} \) ... might take a bit longer.
# after http://www.feynmanlectures.caltech.edu/I_22.html#footnote_source_1
_=min
sqrt = lambda n: _( cvg(nstep(n1))(n1)
for n1 in [float(n)]
for cvg in [lambda f: lambda x:
_( x if y==x else cvg(f)(y)
for y in [f(x)] )]
for nstep in [lambda n: lambda g: (n/g+g)/2] )
if __name__ == "__main__":
def D(x):print(x);return x
# regenerate table 22-1 from feynman LoP
n = 10
for i in range(16): n = sqrt(D(n))
# check precision after inverting
for i in range(16): n = n*n
print(n,n - 10.)