Average Error: 0.0 → 0.1
Time: 22.4s
Precision: 64
\[x - \frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right) \cdot x}\]
\[x - \frac{1}{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}} \cdot \frac{\mathsf{fma}\left(x, 0.2706100000000000171951342053944244980812, 2.307529999999999859028321225196123123169\right)}{\sqrt{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}}}\]
x - \frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right) \cdot x}
x - \frac{1}{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}} \cdot \frac{\mathsf{fma}\left(x, 0.2706100000000000171951342053944244980812, 2.307529999999999859028321225196123123169\right)}{\sqrt{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}}}
double f(double x) {
        double r172958 = x;
        double r172959 = 2.30753;
        double r172960 = 0.27061;
        double r172961 = r172958 * r172960;
        double r172962 = r172959 + r172961;
        double r172963 = 1.0;
        double r172964 = 0.99229;
        double r172965 = 0.04481;
        double r172966 = r172958 * r172965;
        double r172967 = r172964 + r172966;
        double r172968 = r172967 * r172958;
        double r172969 = r172963 + r172968;
        double r172970 = r172962 / r172969;
        double r172971 = r172958 - r172970;
        return r172971;
}

double f(double x) {
        double r172972 = x;
        double r172973 = 1.0;
        double r172974 = 0.04481;
        double r172975 = 0.99229;
        double r172976 = fma(r172974, r172972, r172975);
        double r172977 = 1.0;
        double r172978 = fma(r172976, r172972, r172977);
        double r172979 = sqrt(r172978);
        double r172980 = r172973 / r172979;
        double r172981 = 0.27061;
        double r172982 = 2.30753;
        double r172983 = fma(r172972, r172981, r172982);
        double r172984 = sqrt(r172979);
        double r172985 = r172984 * r172984;
        double r172986 = r172983 / r172985;
        double r172987 = r172980 * r172986;
        double r172988 = r172972 - r172987;
        return r172988;
}

Error

Bits error versus x

Derivation

  1. Initial program 0.0

    \[x - \frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right) \cdot x}\]
  2. Simplified0.0

    \[\leadsto \color{blue}{x - \frac{\mathsf{fma}\left(x, 0.2706100000000000171951342053944244980812, 2.307529999999999859028321225196123123169\right)}{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.1

    \[\leadsto x - \frac{\mathsf{fma}\left(x, 0.2706100000000000171951342053944244980812, 2.307529999999999859028321225196123123169\right)}{\color{blue}{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)} \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}}}\]
  5. Applied *-un-lft-identity0.1

    \[\leadsto x - \frac{\color{blue}{1 \cdot \mathsf{fma}\left(x, 0.2706100000000000171951342053944244980812, 2.307529999999999859028321225196123123169\right)}}{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)} \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}}\]
  6. Applied times-frac0.1

    \[\leadsto x - \color{blue}{\frac{1}{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}} \cdot \frac{\mathsf{fma}\left(x, 0.2706100000000000171951342053944244980812, 2.307529999999999859028321225196123123169\right)}{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}}}\]
  7. Using strategy rm
  8. Applied add-sqr-sqrt0.1

    \[\leadsto x - \frac{1}{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}} \cdot \frac{\mathsf{fma}\left(x, 0.2706100000000000171951342053944244980812, 2.307529999999999859028321225196123123169\right)}{\sqrt{\color{blue}{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)} \cdot \sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}}}}\]
  9. Applied sqrt-prod0.1

    \[\leadsto x - \frac{1}{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}} \cdot \frac{\mathsf{fma}\left(x, 0.2706100000000000171951342053944244980812, 2.307529999999999859028321225196123123169\right)}{\color{blue}{\sqrt{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}}}}\]
  10. Final simplification0.1

    \[\leadsto x - \frac{1}{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}} \cdot \frac{\mathsf{fma}\left(x, 0.2706100000000000171951342053944244980812, 2.307529999999999859028321225196123123169\right)}{\sqrt{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(\mathsf{fma}\left(0.04481000000000000260680366181986755691469, x, 0.992290000000000005364597654988756403327\right), x, 1\right)}}}\]

Reproduce

herbie shell --seed 2019326 +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)))))