ref: e1967b76c1fdf21a0b8f27b608d43b5b6b3366bc
dir: /test/sqrt.myr/
use std const abs = {d if d < 0.0 -> -d else -> d ;; } const Eps = 0.00001 const Maxiter = 20 const sqrt = {x : flt64 var val var iter var i; val = 1.0; for i = 0; i < Maxiter; i++ iter = 0.5*(val + x/val) if abs(val - iter) < Eps -> val; ;; val = iter; ;; -> val } const main = { std.exit(sqrt(20.0) castto(int)) }