Average Error: 12.0 → 2.2
Time: 4.5s
Precision: 64
\[x - \frac{\left(y \cdot 2\right) \cdot z}{\left(z \cdot 2\right) \cdot z - y \cdot t}\]
\[x - \frac{y \cdot 2}{z \cdot 2 - \frac{t}{\frac{z}{y}}}\]
x - \frac{\left(y \cdot 2\right) \cdot z}{\left(z \cdot 2\right) \cdot z - y \cdot t}
x - \frac{y \cdot 2}{z \cdot 2 - \frac{t}{\frac{z}{y}}}
double f(double x, double y, double z, double t) {
        double r525264 = x;
        double r525265 = y;
        double r525266 = 2.0;
        double r525267 = r525265 * r525266;
        double r525268 = z;
        double r525269 = r525267 * r525268;
        double r525270 = r525268 * r525266;
        double r525271 = r525270 * r525268;
        double r525272 = t;
        double r525273 = r525265 * r525272;
        double r525274 = r525271 - r525273;
        double r525275 = r525269 / r525274;
        double r525276 = r525264 - r525275;
        return r525276;
}

double f(double x, double y, double z, double t) {
        double r525277 = x;
        double r525278 = y;
        double r525279 = 2.0;
        double r525280 = r525278 * r525279;
        double r525281 = z;
        double r525282 = r525281 * r525279;
        double r525283 = t;
        double r525284 = r525281 / r525278;
        double r525285 = r525283 / r525284;
        double r525286 = r525282 - r525285;
        double r525287 = r525280 / r525286;
        double r525288 = r525277 - r525287;
        return r525288;
}

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
Herbie2.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. Using strategy rm
  3. Applied associate-/l*6.9

    \[\leadsto x - \color{blue}{\frac{y \cdot 2}{\frac{\left(z \cdot 2\right) \cdot z - y \cdot t}{z}}}\]
  4. Using strategy rm
  5. Applied div-sub6.9

    \[\leadsto x - \frac{y \cdot 2}{\color{blue}{\frac{\left(z \cdot 2\right) \cdot z}{z} - \frac{y \cdot t}{z}}}\]
  6. Simplified2.9

    \[\leadsto x - \frac{y \cdot 2}{\color{blue}{z \cdot 2} - \frac{y \cdot t}{z}}\]
  7. Simplified2.9

    \[\leadsto x - \frac{y \cdot 2}{z \cdot 2 - \color{blue}{\frac{t \cdot y}{z}}}\]
  8. Using strategy rm
  9. Applied associate-/l*2.2

    \[\leadsto x - \frac{y \cdot 2}{z \cdot 2 - \color{blue}{\frac{t}{\frac{z}{y}}}}\]
  10. Final simplification2.2

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

Reproduce

herbie shell --seed 2020057 +o rules:numerics
(FPCore (x y z t)
  :name "Numeric.AD.Rank1.Halley:findZero from ad-4.2.4"
  :precision binary64

  :herbie-target
  (- x (/ 1 (- (/ z y) (/ (/ t 2) z))))

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