Average Error: 6.1 → 1.6
Time: 21.3s
Precision: 64
\[x + \frac{\left(y - x\right) \cdot z}{t}\]
\[\frac{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{\sqrt[3]{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}} \cdot \frac{\frac{\sqrt[3]{t}}{z}}{\sqrt[3]{\sqrt[3]{y - x}}}} + x\]
x + \frac{\left(y - x\right) \cdot z}{t}
\frac{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{\sqrt[3]{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}} \cdot \frac{\frac{\sqrt[3]{t}}{z}}{\sqrt[3]{\sqrt[3]{y - x}}}} + x
double f(double x, double y, double z, double t) {
        double r25352279 = x;
        double r25352280 = y;
        double r25352281 = r25352280 - r25352279;
        double r25352282 = z;
        double r25352283 = r25352281 * r25352282;
        double r25352284 = t;
        double r25352285 = r25352283 / r25352284;
        double r25352286 = r25352279 + r25352285;
        return r25352286;
}

double f(double x, double y, double z, double t) {
        double r25352287 = y;
        double r25352288 = x;
        double r25352289 = r25352287 - r25352288;
        double r25352290 = cbrt(r25352289);
        double r25352291 = r25352290 * r25352290;
        double r25352292 = t;
        double r25352293 = cbrt(r25352292);
        double r25352294 = r25352293 * r25352293;
        double r25352295 = cbrt(r25352291);
        double r25352296 = r25352294 / r25352295;
        double r25352297 = z;
        double r25352298 = r25352293 / r25352297;
        double r25352299 = cbrt(r25352290);
        double r25352300 = r25352298 / r25352299;
        double r25352301 = r25352296 * r25352300;
        double r25352302 = r25352291 / r25352301;
        double r25352303 = r25352302 + r25352288;
        return r25352303;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original6.1
Target1.9
Herbie1.6
\[\begin{array}{l} \mathbf{if}\;x \lt -9.025511195533005 \cdot 10^{-135}:\\ \;\;\;\;x - \frac{z}{t} \cdot \left(x - y\right)\\ \mathbf{elif}\;x \lt 4.275032163700715 \cdot 10^{-250}:\\ \;\;\;\;x + \frac{y - x}{t} \cdot z\\ \mathbf{else}:\\ \;\;\;\;x + \frac{y - x}{\frac{t}{z}}\\ \end{array}\]

Derivation

  1. Initial program 6.1

    \[x + \frac{\left(y - x\right) \cdot z}{t}\]
  2. Using strategy rm
  3. Applied associate-/l*1.8

    \[\leadsto x + \color{blue}{\frac{y - x}{\frac{t}{z}}}\]
  4. Using strategy rm
  5. Applied add-cube-cbrt2.3

    \[\leadsto x + \frac{\color{blue}{\left(\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}\right) \cdot \sqrt[3]{y - x}}}{\frac{t}{z}}\]
  6. Applied associate-/l*2.3

    \[\leadsto x + \color{blue}{\frac{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}{\frac{\frac{t}{z}}{\sqrt[3]{y - x}}}}\]
  7. Using strategy rm
  8. Applied add-cube-cbrt2.3

    \[\leadsto x + \frac{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}{\frac{\frac{t}{z}}{\sqrt[3]{\color{blue}{\left(\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}\right) \cdot \sqrt[3]{y - x}}}}}\]
  9. Applied cbrt-prod2.4

    \[\leadsto x + \frac{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}{\frac{\frac{t}{z}}{\color{blue}{\sqrt[3]{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}} \cdot \sqrt[3]{\sqrt[3]{y - x}}}}}\]
  10. Applied *-un-lft-identity2.4

    \[\leadsto x + \frac{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}{\frac{\frac{t}{\color{blue}{1 \cdot z}}}{\sqrt[3]{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}} \cdot \sqrt[3]{\sqrt[3]{y - x}}}}\]
  11. Applied add-cube-cbrt2.5

    \[\leadsto x + \frac{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}{\frac{\frac{\color{blue}{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \sqrt[3]{t}}}{1 \cdot z}}{\sqrt[3]{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}} \cdot \sqrt[3]{\sqrt[3]{y - x}}}}\]
  12. Applied times-frac2.5

    \[\leadsto x + \frac{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}{\frac{\color{blue}{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{1} \cdot \frac{\sqrt[3]{t}}{z}}}{\sqrt[3]{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}} \cdot \sqrt[3]{\sqrt[3]{y - x}}}}\]
  13. Applied times-frac1.6

    \[\leadsto x + \frac{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}{\color{blue}{\frac{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{1}}{\sqrt[3]{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}} \cdot \frac{\frac{\sqrt[3]{t}}{z}}{\sqrt[3]{\sqrt[3]{y - x}}}}}\]
  14. Simplified1.6

    \[\leadsto x + \frac{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}{\color{blue}{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{\sqrt[3]{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}}} \cdot \frac{\frac{\sqrt[3]{t}}{z}}{\sqrt[3]{\sqrt[3]{y - x}}}}\]
  15. Final simplification1.6

    \[\leadsto \frac{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}{\frac{\sqrt[3]{t} \cdot \sqrt[3]{t}}{\sqrt[3]{\sqrt[3]{y - x} \cdot \sqrt[3]{y - x}}} \cdot \frac{\frac{\sqrt[3]{t}}{z}}{\sqrt[3]{\sqrt[3]{y - x}}}} + x\]

Reproduce

herbie shell --seed 2019168 +o rules:numerics
(FPCore (x y z t)
  :name "Numeric.Histogram:binBounds from Chart-1.5.3"

  :herbie-target
  (if (< x -9.025511195533005e-135) (- x (* (/ z t) (- x y))) (if (< x 4.275032163700715e-250) (+ x (* (/ (- y x) t) z)) (+ x (/ (- y x) (/ t z)))))

  (+ x (/ (* (- y x) z) t)))