Average Error: 6.7 → 1.7
Time: 18.4s
Precision: 64
\[x + \frac{\left(y - x\right) \cdot z}{t}\]
\[x - \frac{\sqrt[3]{z} \cdot \sqrt[3]{z}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \left(\frac{1}{\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}}} \cdot \left(\frac{\sqrt[3]{z}}{\sqrt[3]{\sqrt[3]{t}}} \cdot \left(x - y\right)\right)\right)\]
x + \frac{\left(y - x\right) \cdot z}{t}
x - \frac{\sqrt[3]{z} \cdot \sqrt[3]{z}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \left(\frac{1}{\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}}} \cdot \left(\frac{\sqrt[3]{z}}{\sqrt[3]{\sqrt[3]{t}}} \cdot \left(x - y\right)\right)\right)
double f(double x, double y, double z, double t) {
        double r378557 = x;
        double r378558 = y;
        double r378559 = r378558 - r378557;
        double r378560 = z;
        double r378561 = r378559 * r378560;
        double r378562 = t;
        double r378563 = r378561 / r378562;
        double r378564 = r378557 + r378563;
        return r378564;
}

double f(double x, double y, double z, double t) {
        double r378565 = x;
        double r378566 = z;
        double r378567 = cbrt(r378566);
        double r378568 = r378567 * r378567;
        double r378569 = t;
        double r378570 = cbrt(r378569);
        double r378571 = r378570 * r378570;
        double r378572 = r378568 / r378571;
        double r378573 = 1.0;
        double r378574 = cbrt(r378571);
        double r378575 = r378573 / r378574;
        double r378576 = cbrt(r378570);
        double r378577 = r378567 / r378576;
        double r378578 = y;
        double r378579 = r378565 - r378578;
        double r378580 = r378577 * r378579;
        double r378581 = r378575 * r378580;
        double r378582 = r378572 * r378581;
        double r378583 = r378565 - r378582;
        return r378583;
}

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.7
Target1.9
Herbie1.7
\[\begin{array}{l} \mathbf{if}\;x \lt -9.025511195533004570453352523209034680317 \cdot 10^{-135}:\\ \;\;\;\;x - \frac{z}{t} \cdot \left(x - y\right)\\ \mathbf{elif}\;x \lt 4.275032163700714748507147332551979944314 \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.7

    \[x + \frac{\left(y - x\right) \cdot z}{t}\]
  2. Simplified2.3

    \[\leadsto \color{blue}{x - \frac{z}{t} \cdot \left(x - y\right)}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt2.8

    \[\leadsto x - \frac{z}{\color{blue}{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \sqrt[3]{t}}} \cdot \left(x - y\right)\]
  5. Applied add-cube-cbrt2.9

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

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

    \[\leadsto x - \color{blue}{\frac{\sqrt[3]{z} \cdot \sqrt[3]{z}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \left(\frac{\sqrt[3]{z}}{\sqrt[3]{t}} \cdot \left(x - y\right)\right)}\]
  8. Simplified2.1

    \[\leadsto x - \frac{\sqrt[3]{z} \cdot \sqrt[3]{z}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \color{blue}{\frac{\sqrt[3]{z}}{\frac{\sqrt[3]{t}}{x - y}}}\]
  9. Using strategy rm
  10. Applied *-un-lft-identity2.1

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

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

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

    \[\leadsto x - \frac{\sqrt[3]{z} \cdot \sqrt[3]{z}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt[3]{z}}{\color{blue}{\frac{\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}}}{1} \cdot \frac{\sqrt[3]{\sqrt[3]{t}}}{x - y}}}\]
  14. Applied *-un-lft-identity2.2

    \[\leadsto x - \frac{\sqrt[3]{z} \cdot \sqrt[3]{z}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt[3]{\color{blue}{1 \cdot z}}}{\frac{\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}}}{1} \cdot \frac{\sqrt[3]{\sqrt[3]{t}}}{x - y}}\]
  15. Applied cbrt-prod2.2

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

    \[\leadsto x - \frac{\sqrt[3]{z} \cdot \sqrt[3]{z}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \color{blue}{\left(\frac{\sqrt[3]{1}}{\frac{\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}}}{1}} \cdot \frac{\sqrt[3]{z}}{\frac{\sqrt[3]{\sqrt[3]{t}}}{x - y}}\right)}\]
  17. Simplified1.9

    \[\leadsto x - \frac{\sqrt[3]{z} \cdot \sqrt[3]{z}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \left(\color{blue}{\frac{1}{\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}}}} \cdot \frac{\sqrt[3]{z}}{\frac{\sqrt[3]{\sqrt[3]{t}}}{x - y}}\right)\]
  18. Simplified1.7

    \[\leadsto x - \frac{\sqrt[3]{z} \cdot \sqrt[3]{z}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \left(\frac{1}{\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}}} \cdot \color{blue}{\left(\frac{\sqrt[3]{z}}{\sqrt[3]{\sqrt[3]{t}}} \cdot \left(x - y\right)\right)}\right)\]
  19. Final simplification1.7

    \[\leadsto x - \frac{\sqrt[3]{z} \cdot \sqrt[3]{z}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \left(\frac{1}{\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}}} \cdot \left(\frac{\sqrt[3]{z}}{\sqrt[3]{\sqrt[3]{t}}} \cdot \left(x - y\right)\right)\right)\]

Reproduce

herbie shell --seed 2019195 
(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)))