def f(x) return 1.-x*x end l=Float(-3) r=Float(2) eps=Float(0.0000001) while ((r-l)>eps) m1=l+(r-l)/3 m2=r-(r-l)/3 if (f(m1) < f(m2)) l=m1 elsif (f(m1) > f(m2)) r=m2 else l=m1 r=m2 end end puts (l+r)/2 puts f((l+r)/2)