Maple Code
> regulafalsi :=
proc(a0,b0,max)
local k,a,b,c;
a := evalf(a0);
b := evalf(b0);
c := (a*f(b)-b*f(a))/(f(b)-f(a));
printf(" a = %11.7f, c = %11.7f, b = %11.7f, f(c) =
%11.7f \n",a,c,b,f(c));
for k from 1 to max do
if f(b)*f(c) > 0 then
b := c;
else
a := c;
fi;
c :=
(a*f(b)-b*f(a))/(f(b)-f(a));
printf(" a = %11.7f, c = %11.7f, b = %11.7f,
f(c) = %11.7f \n",a,c,b,f(c));
end do;
print(`f(x) = `,f(x));
printf(" c = %10.6f \n",c);
printf("f(c) = %10.6f \n",f(c));
RETURN(c);
end;
> f := proc(x)
x^3+4*x^2-10
end proc;
(c) John H. Mathews 2004