x - \frac{2.30753 + x \cdot 0.27061000000000002}{1 + \left(0.992290000000000005 + x \cdot 0.044810000000000003\right) \cdot x}x - \mathsf{expm1}\left(\mathsf{log1p}\left(\frac{2.30753 + x \cdot 0.27061000000000002}{1 + \left(0.992290000000000005 + x \cdot 0.044810000000000003\right) \cdot x}\right)\right)double f(double x) {
double r134323 = x;
double r134324 = 2.30753;
double r134325 = 0.27061;
double r134326 = r134323 * r134325;
double r134327 = r134324 + r134326;
double r134328 = 1.0;
double r134329 = 0.99229;
double r134330 = 0.04481;
double r134331 = r134323 * r134330;
double r134332 = r134329 + r134331;
double r134333 = r134332 * r134323;
double r134334 = r134328 + r134333;
double r134335 = r134327 / r134334;
double r134336 = r134323 - r134335;
return r134336;
}
double f(double x) {
double r134337 = x;
double r134338 = 2.30753;
double r134339 = 0.27061;
double r134340 = r134337 * r134339;
double r134341 = r134338 + r134340;
double r134342 = 1.0;
double r134343 = 0.99229;
double r134344 = 0.04481;
double r134345 = r134337 * r134344;
double r134346 = r134343 + r134345;
double r134347 = r134346 * r134337;
double r134348 = r134342 + r134347;
double r134349 = r134341 / r134348;
double r134350 = log1p(r134349);
double r134351 = expm1(r134350);
double r134352 = r134337 - r134351;
return r134352;
}



Bits error versus x
Results
Initial program 0.0
rmApplied expm1-log1p-u0.0
Final simplification0.0
herbie shell --seed 2020081 +o rules:numerics
(FPCore (x)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, D"
:precision binary64
(- x (/ (+ 2.30753 (* x 0.27061)) (+ 1 (* (+ 0.99229 (* x 0.04481)) x)))))