Následující kód by měl v proměnných y a z vrátit zpět hodnotu u,
výsledek je ovšem zatížen relativní chybou asi 1.27e-15.
Jak přesnost pro celá n zlepšit, aby relativní chyba výsledku
byla na úrovni 2.2e-16, jak je to třeba při násobení nebo dělení?
Nevím jestli by to mohlo být závislé na překladači, používám VS8.0
double u = 4238549808285.3003;
double x = u * u * u;
double n = 3.0;
double y = pow( x, 1.0 / n );
//y = 4238549808285.2935
double z = exp( log( x ) / n );
//z = 4238549808285.2949
Editoval midin: Zdrojáky do tagu code.