#include <cstdio>
#include <cmath>
using std::printf;
#define PRECISION 1e-4
//exp(x) = 1 + x + (x^2)/2!+(x^3)/3!....+(x^n)/n!+.....
double _exp( const double x ){
double dVal, dTemp;
int nStep = 1;
for( dVal = 1.0, dTemp = 1.0; dTemp >= PRECISION ; ++nStep ){
dTemp *= x/nStep;
dVal += dTemp;
}
return dVal;
}
int main(){
double x = 2.3;
printf( "exp(%f) = %3.10f, prec = %3.10f\n", x, _exp( x ), _exp( x) - std::exp( x ) );
x = 8.5;
printf( "exp(%f) = %3.10f, prec = %3.10f\n", x, _exp( x ), _exp( x) - std::exp( x ) );
return 0;
}