Average Error: 11.0 → 0.5
Time: 4.3s
Precision: 64
\[x + \frac{y \cdot \left(z - t\right)}{a - t}\]
\[\left(y \cdot \frac{\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}}{\sqrt[3]{a - t} \cdot \sqrt[3]{a - t}}\right) \cdot \frac{\sqrt[3]{z - t}}{\sqrt[3]{a - t}} + x\]
x + \frac{y \cdot \left(z - t\right)}{a - t}
\left(y \cdot \frac{\sqrt[3]{z - t} \cdot \sqrt[3]{z - t}}{\sqrt[3]{a - t} \cdot \sqrt[3]{a - t}}\right) \cdot \frac{\sqrt[3]{z - t}}{\sqrt[3]{a - t}} + x
double f(double x, double y, double z, double t, double a) {
        double r470110 = x;
        double r470111 = y;
        double r470112 = z;
        double r470113 = t;
        double r470114 = r470112 - r470113;
        double r470115 = r470111 * r470114;
        double r470116 = a;
        double r470117 = r470116 - r470113;
        double r470118 = r470115 / r470117;
        double r470119 = r470110 + r470118;
        return r470119;
}

double f(double x, double y, double z, double t, double a) {
        double r470120 = y;
        double r470121 = z;
        double r470122 = t;
        double r470123 = r470121 - r470122;
        double r470124 = cbrt(r470123);
        double r470125 = r470124 * r470124;
        double r470126 = a;
        double r470127 = r470126 - r470122;
        double r470128 = cbrt(r470127);
        double r470129 = r470128 * r470128;
        double r470130 = r470125 / r470129;
        double r470131 = r470120 * r470130;
        double r470132 = r470124 / r470128;
        double r470133 = r470131 * r470132;
        double r470134 = x;
        double r470135 = r470133 + r470134;
        return r470135;
}

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.0
Target1.3
Herbie0.5
\[x + \frac{y}{\frac{a - t}{z - t}}\]

Derivation

  1. Initial program 11.0

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

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

    \[\leadsto \color{blue}{\frac{y}{a - t} \cdot \left(z - t\right) + x}\]
  5. Using strategy rm
  6. Applied div-inv3.1

    \[\leadsto \color{blue}{\left(y \cdot \frac{1}{a - t}\right)} \cdot \left(z - t\right) + x\]
  7. Applied associate-*l*1.4

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

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

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

    \[\leadsto y \cdot \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}} + x\]
  12. Applied times-frac1.8

    \[\leadsto y \cdot \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)} + x\]
  13. Applied associate-*r*0.5

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

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

Reproduce

herbie shell --seed 2020027 +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))))