function sqrtjs(n, guess=1.0){
const thershold = 1e-15 * n
const average = (x, y) => (x + y) / 2
const good_enough = Math.abs(n - guess*guess) < thershold
const improved_guess = average(guess, n/guess)
return good_enough? guess:sqrtjs(n, improved_guess)
}