Average Error: 1.9 → 0.9
Time: 18.3s
Precision: 64
\[\frac{x}{y} \cdot \left(z - t\right) + t\]
\[t + \frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{z - t}{\frac{\sqrt[3]{y}}{\sqrt[3]{x}}}\]
\frac{x}{y} \cdot \left(z - t\right) + t
t + \frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{z - t}{\frac{\sqrt[3]{y}}{\sqrt[3]{x}}}
double f(double x, double y, double z, double t) {
        double r254023 = x;
        double r254024 = y;
        double r254025 = r254023 / r254024;
        double r254026 = z;
        double r254027 = t;
        double r254028 = r254026 - r254027;
        double r254029 = r254025 * r254028;
        double r254030 = r254029 + r254027;
        return r254030;
}

double f(double x, double y, double z, double t) {
        double r254031 = t;
        double r254032 = x;
        double r254033 = cbrt(r254032);
        double r254034 = r254033 * r254033;
        double r254035 = y;
        double r254036 = cbrt(r254035);
        double r254037 = r254036 * r254036;
        double r254038 = r254034 / r254037;
        double r254039 = z;
        double r254040 = r254039 - r254031;
        double r254041 = r254036 / r254033;
        double r254042 = r254040 / r254041;
        double r254043 = r254038 * r254042;
        double r254044 = r254031 + r254043;
        return r254044;
}

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

Original1.9
Target2.3
Herbie0.9
\[\begin{array}{l} \mathbf{if}\;z \lt 2.759456554562692182563154937894909044548 \cdot 10^{-282}:\\ \;\;\;\;\frac{x}{y} \cdot \left(z - t\right) + t\\ \mathbf{elif}\;z \lt 2.32699445087443595687739933019129648094 \cdot 10^{-110}:\\ \;\;\;\;x \cdot \frac{z - t}{y} + t\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{y} \cdot \left(z - t\right) + t\\ \end{array}\]

Derivation

  1. Initial program 1.9

    \[\frac{x}{y} \cdot \left(z - t\right) + t\]
  2. Taylor expanded around 0 6.5

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

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

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

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

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

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

    \[\leadsto t + \color{blue}{\frac{1}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{x} \cdot \sqrt[3]{x}}} \cdot \frac{z - t}{\frac{\sqrt[3]{y}}{\sqrt[3]{x}}}}\]
  10. Simplified0.9

    \[\leadsto t + \color{blue}{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \frac{z - t}{\frac{\sqrt[3]{y}}{\sqrt[3]{x}}}\]
  11. Final simplification0.9

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

Reproduce

herbie shell --seed 2019325 
(FPCore (x y z t)
  :name "Numeric.Signal.Multichannel:$cget from hsignal-0.2.7.1"
  :precision binary64

  :herbie-target
  (if (< z 2.759456554562692e-282) (+ (* (/ x y) (- z t)) t) (if (< z 2.326994450874436e-110) (+ (* x (/ (- z t) y)) t) (+ (* (/ x y) (- z t)) t)))

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