public class Main {

    public static double f1(double x)
    {
        return x * x - 612;
    }

    public static double f1prime(double x)
    {
        return 2 * x;
    }

    public static void main(String[] args)
    {
        double root = Newton.solve(1, Math::cos, x -> -Math.sin(x));
        System.out.println("Newton root: " + root + " real root: " + Math.PI / 2);
        root = RegulaFalsi.solve(1, 2, Math::cos, x -> -Math.sin(x));
        System.out.println("Regula Falsi root: " + root + " real root: " + Math.PI / 2);

        root = Newton.solve(10, Main::f1, Main::f1prime);
        System.out.println("Newton root: " + root + " real root: " + Math.sqrt(612));
        root = RegulaFalsi.solve(10, 100, Main::f1, Main::f1prime);
        System.out.println("Regula False root: " + root + " real root: " + Math.sqrt(612));
    }
}
