Average Error: 0.2 → 0.1
Time: 11.5s
Precision: 64
\[\frac{6 \cdot \left(x - 1\right)}{\left(x + 1\right) + 4 \cdot \sqrt{x}}\]
\[\frac{6}{\left(x + 1\right) + 4 \cdot \sqrt{x}} \cdot \left(x - 1\right)\]
\frac{6 \cdot \left(x - 1\right)}{\left(x + 1\right) + 4 \cdot \sqrt{x}}
\frac{6}{\left(x + 1\right) + 4 \cdot \sqrt{x}} \cdot \left(x - 1\right)
double f(double x) {
        double r702348 = 6.0;
        double r702349 = x;
        double r702350 = 1.0;
        double r702351 = r702349 - r702350;
        double r702352 = r702348 * r702351;
        double r702353 = r702349 + r702350;
        double r702354 = 4.0;
        double r702355 = sqrt(r702349);
        double r702356 = r702354 * r702355;
        double r702357 = r702353 + r702356;
        double r702358 = r702352 / r702357;
        return r702358;
}

double f(double x) {
        double r702359 = 6.0;
        double r702360 = x;
        double r702361 = 1.0;
        double r702362 = r702360 + r702361;
        double r702363 = 4.0;
        double r702364 = sqrt(r702360);
        double r702365 = r702363 * r702364;
        double r702366 = r702362 + r702365;
        double r702367 = r702359 / r702366;
        double r702368 = r702360 - r702361;
        double r702369 = r702367 * r702368;
        return r702369;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original0.2
Target0.0
Herbie0.1
\[\frac{6}{\frac{\left(x + 1\right) + 4 \cdot \sqrt{x}}{x - 1}}\]

Derivation

  1. Initial program 0.2

    \[\frac{6 \cdot \left(x - 1\right)}{\left(x + 1\right) + 4 \cdot \sqrt{x}}\]
  2. Using strategy rm
  3. Applied *-un-lft-identity0.2

    \[\leadsto \frac{6 \cdot \left(x - 1\right)}{\color{blue}{1 \cdot \left(\left(x + 1\right) + 4 \cdot \sqrt{x}\right)}}\]
  4. Applied times-frac0.0

    \[\leadsto \color{blue}{\frac{6}{1} \cdot \frac{x - 1}{\left(x + 1\right) + 4 \cdot \sqrt{x}}}\]
  5. Simplified0.0

    \[\leadsto \color{blue}{6} \cdot \frac{x - 1}{\left(x + 1\right) + 4 \cdot \sqrt{x}}\]
  6. Using strategy rm
  7. Applied div-sub0.0

    \[\leadsto 6 \cdot \color{blue}{\left(\frac{x}{\left(x + 1\right) + 4 \cdot \sqrt{x}} - \frac{1}{\left(x + 1\right) + 4 \cdot \sqrt{x}}\right)}\]
  8. Final simplification0.1

    \[\leadsto \frac{6}{\left(x + 1\right) + 4 \cdot \sqrt{x}} \cdot \left(x - 1\right)\]

Reproduce

herbie shell --seed 2019294 
(FPCore (x)
  :name "Data.Approximate.Numerics:blog from approximate-0.2.2.1"
  :precision binary64

  :herbie-target
  (/ 6 (/ (+ (+ x 1) (* 4 (sqrt x))) (- x 1)))

  (/ (* 6 (- x 1)) (+ (+ x 1) (* 4 (sqrt x)))))