Average Error: 7.9 → 7.9
Time: 11.8s
Precision: 64
\[\frac{x + y}{1 - \frac{y}{z}}\]
\[\frac{y + x}{1 - \frac{y}{z}}\]
\frac{x + y}{1 - \frac{y}{z}}
\frac{y + x}{1 - \frac{y}{z}}
double f(double x, double y, double z) {
        double r681786 = x;
        double r681787 = y;
        double r681788 = r681786 + r681787;
        double r681789 = 1.0;
        double r681790 = z;
        double r681791 = r681787 / r681790;
        double r681792 = r681789 - r681791;
        double r681793 = r681788 / r681792;
        return r681793;
}

double f(double x, double y, double z) {
        double r681794 = y;
        double r681795 = x;
        double r681796 = r681794 + r681795;
        double r681797 = 1.0;
        double r681798 = z;
        double r681799 = r681794 / r681798;
        double r681800 = r681797 - r681799;
        double r681801 = r681796 / r681800;
        return r681801;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original7.9
Target4.1
Herbie7.9
\[\begin{array}{l} \mathbf{if}\;y \lt -3.74293107626898565 \cdot 10^{171}:\\ \;\;\;\;\frac{y + x}{-y} \cdot z\\ \mathbf{elif}\;y \lt 3.55346624560867344 \cdot 10^{168}:\\ \;\;\;\;\frac{x + y}{1 - \frac{y}{z}}\\ \mathbf{else}:\\ \;\;\;\;\frac{y + x}{-y} \cdot z\\ \end{array}\]

Derivation

  1. Initial program 7.9

    \[\frac{x + y}{1 - \frac{y}{z}}\]
  2. Using strategy rm
  3. Applied clear-num8.0

    \[\leadsto \color{blue}{\frac{1}{\frac{1 - \frac{y}{z}}{x + y}}}\]
  4. Using strategy rm
  5. Applied *-un-lft-identity8.0

    \[\leadsto \frac{1}{\frac{1 - \frac{y}{z}}{\color{blue}{1 \cdot \left(x + y\right)}}}\]
  6. Applied *-un-lft-identity8.0

    \[\leadsto \frac{1}{\frac{\color{blue}{1 \cdot \left(1 - \frac{y}{z}\right)}}{1 \cdot \left(x + y\right)}}\]
  7. Applied times-frac8.0

    \[\leadsto \frac{1}{\color{blue}{\frac{1}{1} \cdot \frac{1 - \frac{y}{z}}{x + y}}}\]
  8. Applied add-cube-cbrt8.0

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

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

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

    \[\leadsto 1 \cdot \color{blue}{\frac{y + x}{1 - \frac{y}{z}}}\]
  12. Final simplification7.9

    \[\leadsto \frac{y + x}{1 - \frac{y}{z}}\]

Reproduce

herbie shell --seed 2020043 +o rules:numerics
(FPCore (x y z)
  :name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1, A"
  :precision binary64

  :herbie-target
  (if (< y -3.7429310762689856e+171) (* (/ (+ y x) (- y)) z) (if (< y 3.5534662456086734e+168) (/ (+ x y) (- 1 (/ y z))) (* (/ (+ y x) (- y)) z)))

  (/ (+ x y) (- 1 (/ y z))))