x - \frac{2.30753 + x \cdot 0.27061000000000002}{1 + \left(0.992290000000000005 + x \cdot 0.044810000000000003\right) \cdot x}\mathsf{fma}\left(\frac{-\sqrt[3]{\mathsf{fma}\left(0.27061000000000002, x, 2.30753\right)} \cdot \sqrt[3]{\mathsf{fma}\left(0.27061000000000002, x, 2.30753\right)}}{1}, \frac{\sqrt[3]{\mathsf{fma}\left(0.27061000000000002, x, 2.30753\right)}}{\mathsf{fma}\left(x, \mathsf{fma}\left(0.044810000000000003, x, 0.992290000000000005\right), 1\right)}, x\right)double f(double x) {
double r96414 = x;
double r96415 = 2.30753;
double r96416 = 0.27061;
double r96417 = r96414 * r96416;
double r96418 = r96415 + r96417;
double r96419 = 1.0;
double r96420 = 0.99229;
double r96421 = 0.04481;
double r96422 = r96414 * r96421;
double r96423 = r96420 + r96422;
double r96424 = r96423 * r96414;
double r96425 = r96419 + r96424;
double r96426 = r96418 / r96425;
double r96427 = r96414 - r96426;
return r96427;
}
double f(double x) {
double r96428 = 0.27061;
double r96429 = x;
double r96430 = 2.30753;
double r96431 = fma(r96428, r96429, r96430);
double r96432 = cbrt(r96431);
double r96433 = r96432 * r96432;
double r96434 = -r96433;
double r96435 = 1.0;
double r96436 = r96434 / r96435;
double r96437 = 0.04481;
double r96438 = 0.99229;
double r96439 = fma(r96437, r96429, r96438);
double r96440 = 1.0;
double r96441 = fma(r96429, r96439, r96440);
double r96442 = r96432 / r96441;
double r96443 = fma(r96436, r96442, r96429);
return r96443;
}



Bits error versus x
Initial program 0.0
Simplified0.0
rmApplied *-un-lft-identity0.0
Applied add-cube-cbrt0.5
Applied distribute-lft-neg-in0.5
Applied times-frac0.5
Applied fma-def0.5
Final simplification0.5
herbie shell --seed 2020039 +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)))))