微分 C++

x2 を微分
#include<iostream>
#include<cmath>
using namespace std;
/*
コンパイルできないときは上の3行を次の2行に置き換えてください。
#include<iostream.h>
#include<math.h>
*/

/* epsを小さくすると精度が上がる */
const double eps = 1e-6; // 1e-6は10の-6乗という意味

/* 微分する位置 x_a */
const double x_a = 4.0;

/* 微分する関数 f(x) */
double f(double x){
    return x * x;
}

/* 微分計算 */
double diff(double x_a){
    return ( f(x_a + eps) - f(x_a - eps)) / (2.0 * eps);
}

int main(){
    cout << diff(x_a) << endl;
    return 0;
}

実行結果
8