Максимальный корень второй производной

Вот код нахождения Первой производной:

double firstDerivative(FooPointer f, double x)
{
 return (f(x + 0.0000001) - f(x)) / 0.0000001;
}

Вот Второй производной:

double secondDerivative(FooPointer f, double x)
{
 double v1 = firstDerivative(f,x);
 double v2 = firstDerivative(f, x+ 0.0000001);
 return (v2 - v1) / 0.0000001;
}

И вот нахождения корня:

 double rootSearch(double a, double b,double h, FooPointer f, double x)
{
 double fooA = (((f((a + 0.0000001) + 0.0000001) - f(a + 0.0000001)) / 
                0.0000001)
    - ((f(a + 0.0000001) - f(a)) / 0.0000001)) / 0.0000001;
 double max;

  while (b - a > h)
  {
    double c = (a + b) / 2;
    max=c;
    double secondDerivative = (((f((c + 0.0000001) + 0.0000001) - f(c + 
                                0.0000001)) / 0.0000001)
        - ((f(c + 0.0000001) - f(c)) / 0.0000001)) / 0.0000001;

    if (fooA * secondDerivative >= 0){a = c;}

    else{b = c;}
  }

** В общем корень находит, но никак не могу понять как здесь найти его максимальное значение. Буду благодарен советам!**


Ответы (0 шт):