Average Error: 1.6 → 0.6
Time: 4.2s
Precision: 64
\[x + y \cdot \frac{z - t}{z - a}\]
\[x + \left(y \cdot \frac{\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}}{\sqrt[3]{z - a} \cdot \sqrt[3]{z - a}}\right) \cdot \frac{\sqrt[3]{z - t}}{\sqrt[3]{z - a}}\]
x + y \cdot \frac{z - t}{z - a}
x + \left(y \cdot \frac{\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}}{\sqrt[3]{z - a} \cdot \sqrt[3]{z - a}}\right) \cdot \frac{\sqrt[3]{z - t}}{\sqrt[3]{z - a}}
double f(double x, double y, double z, double t, double a) {
        double r517891 = x;
        double r517892 = y;
        double r517893 = z;
        double r517894 = t;
        double r517895 = r517893 - r517894;
        double r517896 = a;
        double r517897 = r517893 - r517896;
        double r517898 = r517895 / r517897;
        double r517899 = r517892 * r517898;
        double r517900 = r517891 + r517899;
        return r517900;
}

double f(double x, double y, double z, double t, double a) {
        double r517901 = x;
        double r517902 = y;
        double r517903 = z;
        double r517904 = t;
        double r517905 = r517903 - r517904;
        double r517906 = cbrt(r517905);
        double r517907 = r517906 * r517906;
        double r517908 = a;
        double r517909 = r517903 - r517908;
        double r517910 = cbrt(r517909);
        double r517911 = r517910 * r517910;
        double r517912 = r517907 / r517911;
        double r517913 = r517902 * r517912;
        double r517914 = r517906 / r517910;
        double r517915 = r517913 * r517914;
        double r517916 = r517901 + r517915;
        return r517916;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original1.6
Target1.4
Herbie0.6
\[x + \frac{y}{\frac{z - a}{z - t}}\]

Derivation

  1. Initial program 1.6

    \[x + y \cdot \frac{z - t}{z - a}\]
  2. Using strategy rm
  3. Applied add-cube-cbrt2.1

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

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

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

    \[\leadsto x + \color{blue}{\left(y \cdot \frac{\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}}{\sqrt[3]{z - a} \cdot \sqrt[3]{z - a}}\right) \cdot \frac{\sqrt[3]{z - t}}{\sqrt[3]{z - a}}}\]
  7. Final simplification0.6

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

Reproduce

herbie shell --seed 2020003 
(FPCore (x y z t a)
  :name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisLine from plot-0.2.3.4, A"
  :precision binary64

  :herbie-target
  (+ x (/ y (/ (- z a) (- z t))))

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