Average Error: 6.7 → 1.9
Time: 13.6s
Precision: 64
\[\frac{x \cdot 2}{y \cdot z - t \cdot z}\]
\[\frac{\sqrt[3]{x}}{\sqrt[3]{z}} \cdot \frac{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{z} \cdot \sqrt[3]{z}} \cdot 2}{y - t}\]
\frac{x \cdot 2}{y \cdot z - t \cdot z}
\frac{\sqrt[3]{x}}{\sqrt[3]{z}} \cdot \frac{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{z} \cdot \sqrt[3]{z}} \cdot 2}{y - t}
double f(double x, double y, double z, double t) {
        double r458754 = x;
        double r458755 = 2.0;
        double r458756 = r458754 * r458755;
        double r458757 = y;
        double r458758 = z;
        double r458759 = r458757 * r458758;
        double r458760 = t;
        double r458761 = r458760 * r458758;
        double r458762 = r458759 - r458761;
        double r458763 = r458756 / r458762;
        return r458763;
}

double f(double x, double y, double z, double t) {
        double r458764 = x;
        double r458765 = cbrt(r458764);
        double r458766 = z;
        double r458767 = cbrt(r458766);
        double r458768 = r458765 / r458767;
        double r458769 = r458765 * r458765;
        double r458770 = r458767 * r458767;
        double r458771 = r458769 / r458770;
        double r458772 = 2.0;
        double r458773 = r458771 * r458772;
        double r458774 = y;
        double r458775 = t;
        double r458776 = r458774 - r458775;
        double r458777 = r458773 / r458776;
        double r458778 = r458768 * r458777;
        return r458778;
}

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
Target2.2
Herbie1.9
\[\begin{array}{l} \mathbf{if}\;\frac{x \cdot 2}{y \cdot z - t \cdot z} \lt -2.559141628295061113708240820439530037456 \cdot 10^{-13}:\\ \;\;\;\;\frac{x}{\left(y - t\right) \cdot z} \cdot 2\\ \mathbf{elif}\;\frac{x \cdot 2}{y \cdot z - t \cdot z} \lt 1.045027827330126029709547581125571222799 \cdot 10^{-269}:\\ \;\;\;\;\frac{\frac{x}{z} \cdot 2}{y - t}\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{\left(y - t\right) \cdot z} \cdot 2\\ \end{array}\]

Derivation

  1. Initial program 6.7

    \[\frac{x \cdot 2}{y \cdot z - t \cdot z}\]
  2. Simplified6.0

    \[\leadsto \color{blue}{\frac{2}{y - t} \cdot \frac{x}{z}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt6.6

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

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

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

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

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

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

Reproduce

herbie shell --seed 2019179 
(FPCore (x y z t)
  :name "Linear.Projection:infinitePerspective from linear-1.19.1.3, A"

  :herbie-target
  (if (< (/ (* x 2.0) (- (* y z) (* t z))) -2.559141628295061e-13) (* (/ x (* (- y t) z)) 2.0) (if (< (/ (* x 2.0) (- (* y z) (* t z))) 1.045027827330126e-269) (/ (* (/ x z) 2.0) (- y t)) (* (/ x (* (- y t) z)) 2.0)))

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