Average Error: 12.0 → 1.2
Time: 19.6s
Precision: 64
\[x - \frac{\left(y \cdot 2\right) \cdot z}{\left(z \cdot 2\right) \cdot z - y \cdot t}\]
\[x - \frac{y}{z - \frac{\frac{t}{z}}{\sqrt{2}} \cdot \frac{y}{\sqrt{2}}}\]
x - \frac{\left(y \cdot 2\right) \cdot z}{\left(z \cdot 2\right) \cdot z - y \cdot t}
x - \frac{y}{z - \frac{\frac{t}{z}}{\sqrt{2}} \cdot \frac{y}{\sqrt{2}}}
double f(double x, double y, double z, double t) {
        double r25764924 = x;
        double r25764925 = y;
        double r25764926 = 2.0;
        double r25764927 = r25764925 * r25764926;
        double r25764928 = z;
        double r25764929 = r25764927 * r25764928;
        double r25764930 = r25764928 * r25764926;
        double r25764931 = r25764930 * r25764928;
        double r25764932 = t;
        double r25764933 = r25764925 * r25764932;
        double r25764934 = r25764931 - r25764933;
        double r25764935 = r25764929 / r25764934;
        double r25764936 = r25764924 - r25764935;
        return r25764936;
}

double f(double x, double y, double z, double t) {
        double r25764937 = x;
        double r25764938 = y;
        double r25764939 = z;
        double r25764940 = t;
        double r25764941 = r25764940 / r25764939;
        double r25764942 = 2.0;
        double r25764943 = sqrt(r25764942);
        double r25764944 = r25764941 / r25764943;
        double r25764945 = r25764938 / r25764943;
        double r25764946 = r25764944 * r25764945;
        double r25764947 = r25764939 - r25764946;
        double r25764948 = r25764938 / r25764947;
        double r25764949 = r25764937 - r25764948;
        return r25764949;
}

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

Original12.0
Target0.1
Herbie1.2
\[x - \frac{1}{\frac{z}{y} - \frac{\frac{t}{2}}{z}}\]

Derivation

  1. Initial program 12.0

    \[x - \frac{\left(y \cdot 2\right) \cdot z}{\left(z \cdot 2\right) \cdot z - y \cdot t}\]
  2. Simplified1.1

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

    \[\leadsto x - \frac{y}{z - \frac{\frac{t}{z} \cdot y}{\color{blue}{\sqrt{2} \cdot \sqrt{2}}}}\]
  5. Applied times-frac1.2

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

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

Reproduce

herbie shell --seed 2019171 
(FPCore (x y z t)
  :name "Numeric.AD.Rank1.Halley:findZero from ad-4.2.4"

  :herbie-target
  (- x (/ 1.0 (- (/ z y) (/ (/ t 2.0) z))))

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