Average Error: 14.6 → 1.4
Time: 6.1s
Precision: binary64
Cost: 20160
\[\frac{x \cdot y}{\left(z \cdot z\right) \cdot \left(z + 1\right)}\]
\[\frac{\left(y \cdot \frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{z}\right) \cdot \frac{\sqrt[3]{x}}{z}}{z + 1}\]
\frac{x \cdot y}{\left(z \cdot z\right) \cdot \left(z + 1\right)}
\frac{\left(y \cdot \frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{z}\right) \cdot \frac{\sqrt[3]{x}}{z}}{z + 1}
(FPCore (x y z) :precision binary64 (/ (* x y) (* (* z z) (+ z 1.0))))
(FPCore (x y z)
 :precision binary64
 (/ (* (* y (/ (* (cbrt x) (cbrt x)) z)) (/ (cbrt x) z)) (+ z 1.0)))
double code(double x, double y, double z) {
	return (x * y) / ((z * z) * (z + 1.0));
}
double code(double x, double y, double z) {
	return ((y * ((cbrt(x) * cbrt(x)) / z)) * (cbrt(x) / z)) / (z + 1.0);
}

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.6
Target4.0
Herbie1.4
\[\begin{array}{l} \mathbf{if}\;z < 249.6182814532307:\\ \;\;\;\;\frac{y \cdot \frac{x}{z}}{z + z \cdot z}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{y}{z}}{1 + z} \cdot x}{z}\\ \end{array}\]

Alternatives

Alternative 1
Error2.0
Cost13953
\[\begin{array}{l} \mathbf{if}\;x \leq -4.7859134776955 \cdot 10^{-311}:\\ \;\;\;\;\frac{\frac{y}{z}}{\frac{z + 1}{\frac{x}{z}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\sqrt{x}}{z} \cdot \left(y \cdot \frac{\sqrt{x}}{z}\right)}{z + 1}\\ \end{array}\]
Alternative 2
Error2.7
Cost704
\[\frac{\frac{y}{z} \cdot \frac{x}{z}}{z + 1}\]
Alternative 3
Error3.1
Cost704
\[\frac{\frac{y \cdot \frac{x}{z}}{z}}{z + 1}\]
Alternative 4
Error3.4
Cost704
\[\frac{x}{z} \cdot \frac{\frac{y}{z}}{z + 1}\]
Alternative 5
Error3.5
Cost704
\[\frac{\frac{y}{z}}{\frac{z + 1}{\frac{x}{z}}}\]
Alternative 6
Error16.3
Cost1218
\[\begin{array}{l} \mathbf{if}\;z \leq -1.0082186945810976:\\ \;\;\;\;0\\ \mathbf{elif}\;z \leq 0.9933293273185231:\\ \;\;\;\;\frac{x}{z} \cdot \left(\frac{y}{z} - y\right)\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]
Alternative 7
Error16.7
Cost1090
\[\begin{array}{l} \mathbf{if}\;z \leq -1.0082186945810976:\\ \;\;\;\;0\\ \mathbf{elif}\;z \leq 3.052246099489061 \cdot 10^{+96}:\\ \;\;\;\;\frac{y}{z} \cdot \frac{x}{z}\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]
Alternative 8
Error22.1
Cost1090
\[\begin{array}{l} \mathbf{if}\;z \leq -1.0082186945810976:\\ \;\;\;\;0\\ \mathbf{elif}\;z \leq 2.3035732907277228 \cdot 10^{+49}:\\ \;\;\;\;\frac{y \cdot x}{z \cdot z}\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]
Alternative 9
Error33.9
Cost64
\[0\]
Alternative 10
Error61.9
Cost64
\[1\]

Error

Derivation

  1. Initial program 14.6

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

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

    \[\leadsto \frac{\color{blue}{y \cdot \frac{x}{z \cdot z}}}{z + 1}\]
  5. Using strategy rm
  6. Applied add-cube-cbrt_binary64_1102511.2

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

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

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

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

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

Reproduce

herbie shell --seed 2021044 
(FPCore (x y z)
  :name "Statistics.Distribution.Beta:$cvariance from math-functions-0.1.5.2"
  :precision binary64

  :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))))