Average Error: 15.2 → 1.9
Time: 15.9s
Precision: 64
\[\frac{x \cdot y}{\left(z \cdot z\right) \cdot \left(z + 1\right)}\]
\[\begin{array}{l} \mathbf{if}\;y \le -2.008657820930775364619461458065368021473 \cdot 10^{-70}:\\ \;\;\;\;\frac{y}{1 + z} \cdot \frac{\frac{x}{z}}{z}\\ \mathbf{elif}\;y \le 5.191568567623518734884755687671880461994 \cdot 10^{158}:\\ \;\;\;\;\frac{\left(\sqrt[3]{x} \cdot \left(\frac{y}{z} \cdot \sqrt[3]{x}\right)\right) \cdot \frac{\sqrt[3]{x}}{z}}{1 + z}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \frac{\frac{x}{z} \cdot \sqrt[3]{y}}{z}}{1 + z}\\ \end{array}\]
\frac{x \cdot y}{\left(z \cdot z\right) \cdot \left(z + 1\right)}
\begin{array}{l}
\mathbf{if}\;y \le -2.008657820930775364619461458065368021473 \cdot 10^{-70}:\\
\;\;\;\;\frac{y}{1 + z} \cdot \frac{\frac{x}{z}}{z}\\

\mathbf{elif}\;y \le 5.191568567623518734884755687671880461994 \cdot 10^{158}:\\
\;\;\;\;\frac{\left(\sqrt[3]{x} \cdot \left(\frac{y}{z} \cdot \sqrt[3]{x}\right)\right) \cdot \frac{\sqrt[3]{x}}{z}}{1 + z}\\

\mathbf{else}:\\
\;\;\;\;\frac{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \frac{\frac{x}{z} \cdot \sqrt[3]{y}}{z}}{1 + z}\\

\end{array}
double f(double x, double y, double z) {
        double r200160 = x;
        double r200161 = y;
        double r200162 = r200160 * r200161;
        double r200163 = z;
        double r200164 = r200163 * r200163;
        double r200165 = 1.0;
        double r200166 = r200163 + r200165;
        double r200167 = r200164 * r200166;
        double r200168 = r200162 / r200167;
        return r200168;
}

double f(double x, double y, double z) {
        double r200169 = y;
        double r200170 = -2.0086578209307754e-70;
        bool r200171 = r200169 <= r200170;
        double r200172 = 1.0;
        double r200173 = z;
        double r200174 = r200172 + r200173;
        double r200175 = r200169 / r200174;
        double r200176 = x;
        double r200177 = r200176 / r200173;
        double r200178 = r200177 / r200173;
        double r200179 = r200175 * r200178;
        double r200180 = 5.191568567623519e+158;
        bool r200181 = r200169 <= r200180;
        double r200182 = cbrt(r200176);
        double r200183 = r200169 / r200173;
        double r200184 = r200183 * r200182;
        double r200185 = r200182 * r200184;
        double r200186 = r200182 / r200173;
        double r200187 = r200185 * r200186;
        double r200188 = r200187 / r200174;
        double r200189 = cbrt(r200169);
        double r200190 = r200189 * r200189;
        double r200191 = r200177 * r200189;
        double r200192 = r200191 / r200173;
        double r200193 = r200190 * r200192;
        double r200194 = r200193 / r200174;
        double r200195 = r200181 ? r200188 : r200194;
        double r200196 = r200171 ? r200179 : r200195;
        return r200196;
}

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

Original15.2
Target4.1
Herbie1.9
\[\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. Split input into 3 regimes
  2. if y < -2.0086578209307754e-70

    1. Initial program 16.7

      \[\frac{x \cdot y}{\left(z \cdot z\right) \cdot \left(z + 1\right)}\]
    2. Using strategy rm
    3. Applied times-frac8.3

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

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

      \[\leadsto \frac{\frac{x}{z}}{z} \cdot \color{blue}{\frac{y}{1 + z}}\]

    if -2.0086578209307754e-70 < y < 5.191568567623519e+158

    1. Initial program 13.0

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

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

      \[\leadsto \frac{\color{blue}{\frac{y}{z} \cdot \frac{x}{z}}}{z + 1}\]
    5. Using strategy rm
    6. Applied *-un-lft-identity2.3

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

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

      \[\leadsto \frac{\frac{y}{z} \cdot \color{blue}{\left(\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{1} \cdot \frac{\sqrt[3]{x}}{z}\right)}}{z + 1}\]
    9. Applied associate-*r*1.3

      \[\leadsto \frac{\color{blue}{\left(\frac{y}{z} \cdot \frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{1}\right) \cdot \frac{\sqrt[3]{x}}{z}}}{z + 1}\]
    10. Simplified1.3

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

    if 5.191568567623519e+158 < y

    1. Initial program 26.1

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

      \[\leadsto \color{blue}{\frac{\frac{x \cdot y}{z \cdot z}}{z + 1}}\]
    4. Simplified6.7

      \[\leadsto \frac{\color{blue}{\frac{y}{z} \cdot \frac{x}{z}}}{z + 1}\]
    5. Using strategy rm
    6. Applied *-un-lft-identity6.7

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

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

      \[\leadsto \frac{\color{blue}{\left(\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{1} \cdot \frac{\sqrt[3]{y}}{z}\right)} \cdot \frac{x}{z}}{z + 1}\]
    9. Applied associate-*l*3.9

      \[\leadsto \frac{\color{blue}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{1} \cdot \left(\frac{\sqrt[3]{y}}{z} \cdot \frac{x}{z}\right)}}{z + 1}\]
    10. Simplified3.9

      \[\leadsto \frac{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{1} \cdot \color{blue}{\frac{\frac{x}{z} \cdot \sqrt[3]{y}}{z}}}{z + 1}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification1.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \le -2.008657820930775364619461458065368021473 \cdot 10^{-70}:\\ \;\;\;\;\frac{y}{1 + z} \cdot \frac{\frac{x}{z}}{z}\\ \mathbf{elif}\;y \le 5.191568567623518734884755687671880461994 \cdot 10^{158}:\\ \;\;\;\;\frac{\left(\sqrt[3]{x} \cdot \left(\frac{y}{z} \cdot \sqrt[3]{x}\right)\right) \cdot \frac{\sqrt[3]{x}}{z}}{1 + z}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \frac{\frac{x}{z} \cdot \sqrt[3]{y}}{z}}{1 + z}\\ \end{array}\]

Reproduce

herbie shell --seed 2019174 +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))))