Average Error: 11.2 → 0.6
Time: 3.2s
Precision: 64
\[x + \frac{y \cdot \left(z - t\right)}{a - t}\]
\[\frac{\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}}{\sqrt[3]{a - t} \cdot \sqrt[3]{a - t}} \cdot \left(\frac{\sqrt[3]{z - t}}{\sqrt[3]{a - t}} \cdot y\right) + x\]
x + \frac{y \cdot \left(z - t\right)}{a - t}
\frac{\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}}{\sqrt[3]{a - t} \cdot \sqrt[3]{a - t}} \cdot \left(\frac{\sqrt[3]{z - t}}{\sqrt[3]{a - t}} \cdot y\right) + x
double f(double x, double y, double z, double t, double a) {
        double r681562 = x;
        double r681563 = y;
        double r681564 = z;
        double r681565 = t;
        double r681566 = r681564 - r681565;
        double r681567 = r681563 * r681566;
        double r681568 = a;
        double r681569 = r681568 - r681565;
        double r681570 = r681567 / r681569;
        double r681571 = r681562 + r681570;
        return r681571;
}

double f(double x, double y, double z, double t, double a) {
        double r681572 = z;
        double r681573 = t;
        double r681574 = r681572 - r681573;
        double r681575 = cbrt(r681574);
        double r681576 = r681575 * r681575;
        double r681577 = a;
        double r681578 = r681577 - r681573;
        double r681579 = cbrt(r681578);
        double r681580 = r681579 * r681579;
        double r681581 = r681576 / r681580;
        double r681582 = r681575 / r681579;
        double r681583 = y;
        double r681584 = r681582 * r681583;
        double r681585 = r681581 * r681584;
        double r681586 = x;
        double r681587 = r681585 + r681586;
        return r681587;
}

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

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

Derivation

  1. Initial program 11.2

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

    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{y}{a - t}, z - t, x\right)}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity3.2

    \[\leadsto \mathsf{fma}\left(\frac{y}{\color{blue}{1 \cdot \left(a - t\right)}}, z - t, x\right)\]
  5. Applied *-un-lft-identity3.2

    \[\leadsto \mathsf{fma}\left(\frac{\color{blue}{1 \cdot y}}{1 \cdot \left(a - t\right)}, z - t, x\right)\]
  6. Applied times-frac3.2

    \[\leadsto \mathsf{fma}\left(\color{blue}{\frac{1}{1} \cdot \frac{y}{a - t}}, z - t, x\right)\]
  7. Simplified3.2

    \[\leadsto \mathsf{fma}\left(\color{blue}{1} \cdot \frac{y}{a - t}, z - t, x\right)\]
  8. Using strategy rm
  9. Applied clear-num3.4

    \[\leadsto \mathsf{fma}\left(1 \cdot \color{blue}{\frac{1}{\frac{a - t}{y}}}, z - t, x\right)\]
  10. Using strategy rm
  11. Applied fma-udef3.4

    \[\leadsto \color{blue}{\left(1 \cdot \frac{1}{\frac{a - t}{y}}\right) \cdot \left(z - t\right) + x}\]
  12. Simplified1.4

    \[\leadsto \color{blue}{\frac{z - t}{a - t} \cdot y} + x\]
  13. Using strategy rm
  14. Applied add-cube-cbrt1.9

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

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

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

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

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

Reproduce

herbie shell --seed 2020020 +o rules:numerics
(FPCore (x y z t a)
  :name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisTicks from plot-0.2.3.4, B"
  :precision binary64

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

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