Average Error: 0.0 → 0.0
Time: 14.2s
Precision: 64
\[x - \frac{2.30753 + x \cdot 0.27061000000000002}{1 + \left(0.992290000000000005 + x \cdot 0.044810000000000003\right) \cdot x}\]
\[x - \left(2.30753 + x \cdot 0.27061000000000002\right) \cdot \frac{1}{\sqrt[3]{{\left(\mathsf{fma}\left(x, \mathsf{fma}\left(0.044810000000000003, x, 0.992290000000000005\right), 1\right)\right)}^{3}}}\]
x - \frac{2.30753 + x \cdot 0.27061000000000002}{1 + \left(0.992290000000000005 + x \cdot 0.044810000000000003\right) \cdot x}
x - \left(2.30753 + x \cdot 0.27061000000000002\right) \cdot \frac{1}{\sqrt[3]{{\left(\mathsf{fma}\left(x, \mathsf{fma}\left(0.044810000000000003, x, 0.992290000000000005\right), 1\right)\right)}^{3}}}
double f(double x) {
        double r70265 = x;
        double r70266 = 2.30753;
        double r70267 = 0.27061;
        double r70268 = r70265 * r70267;
        double r70269 = r70266 + r70268;
        double r70270 = 1.0;
        double r70271 = 0.99229;
        double r70272 = 0.04481;
        double r70273 = r70265 * r70272;
        double r70274 = r70271 + r70273;
        double r70275 = r70274 * r70265;
        double r70276 = r70270 + r70275;
        double r70277 = r70269 / r70276;
        double r70278 = r70265 - r70277;
        return r70278;
}

double f(double x) {
        double r70279 = x;
        double r70280 = 2.30753;
        double r70281 = 0.27061;
        double r70282 = r70279 * r70281;
        double r70283 = r70280 + r70282;
        double r70284 = 1.0;
        double r70285 = 0.04481;
        double r70286 = 0.99229;
        double r70287 = fma(r70285, r70279, r70286);
        double r70288 = 1.0;
        double r70289 = fma(r70279, r70287, r70288);
        double r70290 = 3.0;
        double r70291 = pow(r70289, r70290);
        double r70292 = cbrt(r70291);
        double r70293 = r70284 / r70292;
        double r70294 = r70283 * r70293;
        double r70295 = r70279 - r70294;
        return r70295;
}

Error

Bits error versus x

Derivation

  1. Initial program 0.0

    \[x - \frac{2.30753 + x \cdot 0.27061000000000002}{1 + \left(0.992290000000000005 + x \cdot 0.044810000000000003\right) \cdot x}\]
  2. Using strategy rm
  3. Applied div-inv0.0

    \[\leadsto x - \color{blue}{\left(2.30753 + x \cdot 0.27061000000000002\right) \cdot \frac{1}{1 + \left(0.992290000000000005 + x \cdot 0.044810000000000003\right) \cdot x}}\]
  4. Simplified0.0

    \[\leadsto x - \left(2.30753 + x \cdot 0.27061000000000002\right) \cdot \color{blue}{\frac{1}{\mathsf{fma}\left(x, \mathsf{fma}\left(0.044810000000000003, x, 0.992290000000000005\right), 1\right)}}\]
  5. Using strategy rm
  6. Applied add-cbrt-cube0.0

    \[\leadsto x - \left(2.30753 + x \cdot 0.27061000000000002\right) \cdot \frac{1}{\color{blue}{\sqrt[3]{\left(\mathsf{fma}\left(x, \mathsf{fma}\left(0.044810000000000003, x, 0.992290000000000005\right), 1\right) \cdot \mathsf{fma}\left(x, \mathsf{fma}\left(0.044810000000000003, x, 0.992290000000000005\right), 1\right)\right) \cdot \mathsf{fma}\left(x, \mathsf{fma}\left(0.044810000000000003, x, 0.992290000000000005\right), 1\right)}}}\]
  7. Simplified0.0

    \[\leadsto x - \left(2.30753 + x \cdot 0.27061000000000002\right) \cdot \frac{1}{\sqrt[3]{\color{blue}{{\left(\mathsf{fma}\left(x, \mathsf{fma}\left(0.044810000000000003, x, 0.992290000000000005\right), 1\right)\right)}^{3}}}}\]
  8. Final simplification0.0

    \[\leadsto x - \left(2.30753 + x \cdot 0.27061000000000002\right) \cdot \frac{1}{\sqrt[3]{{\left(\mathsf{fma}\left(x, \mathsf{fma}\left(0.044810000000000003, x, 0.992290000000000005\right), 1\right)\right)}^{3}}}\]

Reproduce

herbie shell --seed 2019198 +o rules:numerics
(FPCore (x)
  :name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, D"
  (- x (/ (+ 2.30753 (* x 0.27061)) (+ 1.0 (* (+ 0.99229 (* x 0.04481)) x)))))