Ничего Вы не получите, т.к. отсутствует оценка погрешностей округления...
Ну и чтобы окончательно сбить с толку топикстартера
добавлю, что поскольку неизвестно, как функция вычисляется, то неизвестна и та часть её погрешности, которая обусловлена округлениями, накапливающимися в ходе её вычисления (про другие части погрешности я даже и не заикаюсь).
Поэтому можно ожидать (ну, если не возникнет ещё каких-нибудь проблем
), что при уменьшении шага численно посчитанная производная будет сначала "как бы сходиться" к какому-то значению, а потом (заранее нельзя сказать когда), вдруг начнёт "плясать", сначала слабо, а потом всё сильнее, затем может впасть в ноль, либо уверенно увеличиваться по модулю (возможен также сразу резкий спад до нуля, без плясок), пока шаг не станет меньше минимально возможного при выбранном формате хранения чисел (этот минимум, к счастью, легко вычисляется), после чего случится деление на ноль. Если вспомнить, что разум — это вялотекущая шизофрения, аналогия получается полной
Наша задача — поймать момент, пока производная не начала "плясать" сильнее, чем "сходиться", это и будет самым точным значением. Практическим критерием иногда можно считать локальный экстремум (смену убывания на возрастание или наоборот). Но тут есть нюансы. Например, если производная близка к нулю, нужно как-то уметь отличать внезапное падение в ноль от плавного уменьшения до нуля. В первом случае мы в качестве производной берём последнее ненулевое значение, во втором — 0.