Average Error: 14.9 → 1.0
Time: 25.2s
Precision: 64
\[\frac{x \cdot y}{\left(z \cdot z\right) \cdot \left(z + 1\right)}\]
\[\frac{\frac{\sqrt[3]{x}}{\frac{1 + z}{\sqrt[3]{y}}} \cdot \left(\frac{\sqrt[3]{x}}{\frac{z}{\sqrt[3]{y}}} \cdot \sqrt[3]{x}\right)}{\frac{z}{\sqrt[3]{y}}}\]
\frac{x \cdot y}{\left(z \cdot z\right) \cdot \left(z + 1\right)}
\frac{\frac{\sqrt[3]{x}}{\frac{1 + z}{\sqrt[3]{y}}} \cdot \left(\frac{\sqrt[3]{x}}{\frac{z}{\sqrt[3]{y}}} \cdot \sqrt[3]{x}\right)}{\frac{z}{\sqrt[3]{y}}}
double f(double x, double y, double z) {
        double r13745026 = x;
        double r13745027 = y;
        double r13745028 = r13745026 * r13745027;
        double r13745029 = z;
        double r13745030 = r13745029 * r13745029;
        double r13745031 = 1.0;
        double r13745032 = r13745029 + r13745031;
        double r13745033 = r13745030 * r13745032;
        double r13745034 = r13745028 / r13745033;
        return r13745034;
}

double f(double x, double y, double z) {
        double r13745035 = x;
        double r13745036 = cbrt(r13745035);
        double r13745037 = 1.0;
        double r13745038 = z;
        double r13745039 = r13745037 + r13745038;
        double r13745040 = y;
        double r13745041 = cbrt(r13745040);
        double r13745042 = r13745039 / r13745041;
        double r13745043 = r13745036 / r13745042;
        double r13745044 = r13745038 / r13745041;
        double r13745045 = r13745036 / r13745044;
        double r13745046 = r13745045 * r13745036;
        double r13745047 = r13745043 * r13745046;
        double r13745048 = r13745047 / r13745044;
        return r13745048;
}

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

Original14.9
Target3.9
Herbie1.0
\[\begin{array}{l} \mathbf{if}\;z \lt 249.6182814532307077115547144785523414612:\\ \;\;\;\;\frac{y \cdot \frac{x}{z}}{z + z \cdot z}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{y}{z}}{1 + z} \cdot x}{z}\\ \end{array}\]

Derivation

  1. Initial program 14.9

    \[\frac{x \cdot y}{\left(z \cdot z\right) \cdot \left(z + 1\right)}\]
  2. Using strategy rm
  3. Applied associate-/l*13.6

    \[\leadsto \color{blue}{\frac{x}{\frac{\left(z \cdot z\right) \cdot \left(z + 1\right)}{y}}}\]
  4. Using strategy rm
  5. Applied add-cube-cbrt14.0

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

    \[\leadsto \frac{x}{\color{blue}{\frac{z \cdot z}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{z + 1}{\sqrt[3]{y}}}}\]
  7. Applied add-cube-cbrt12.2

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

    \[\leadsto \color{blue}{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\frac{z \cdot z}{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \frac{\sqrt[3]{x}}{\frac{z + 1}{\sqrt[3]{y}}}}\]
  9. Simplified2.6

    \[\leadsto \color{blue}{\left(\frac{\sqrt[3]{x}}{\frac{z}{\sqrt[3]{y}}} \cdot \frac{\sqrt[3]{x}}{\frac{z}{\sqrt[3]{y}}}\right)} \cdot \frac{\sqrt[3]{x}}{\frac{z + 1}{\sqrt[3]{y}}}\]
  10. Using strategy rm
  11. Applied associate-*l/2.6

    \[\leadsto \color{blue}{\frac{\sqrt[3]{x} \cdot \frac{\sqrt[3]{x}}{\frac{z}{\sqrt[3]{y}}}}{\frac{z}{\sqrt[3]{y}}}} \cdot \frac{\sqrt[3]{x}}{\frac{z + 1}{\sqrt[3]{y}}}\]
  12. Applied associate-*l/1.0

    \[\leadsto \color{blue}{\frac{\left(\sqrt[3]{x} \cdot \frac{\sqrt[3]{x}}{\frac{z}{\sqrt[3]{y}}}\right) \cdot \frac{\sqrt[3]{x}}{\frac{z + 1}{\sqrt[3]{y}}}}{\frac{z}{\sqrt[3]{y}}}}\]
  13. Final simplification1.0

    \[\leadsto \frac{\frac{\sqrt[3]{x}}{\frac{1 + z}{\sqrt[3]{y}}} \cdot \left(\frac{\sqrt[3]{x}}{\frac{z}{\sqrt[3]{y}}} \cdot \sqrt[3]{x}\right)}{\frac{z}{\sqrt[3]{y}}}\]

Reproduce

herbie shell --seed 2019179 +o rules:numerics
(FPCore (x y z)
  :name "Statistics.Distribution.Beta:$cvariance from math-functions-0.1.5.2"

  :herbie-target
  (if (< z 249.6182814532307) (/ (* y (/ x z)) (+ z (* z z))) (/ (* (/ (/ y z) (+ 1.0 z)) x) z))

  (/ (* x y) (* (* z z) (+ z 1.0))))