Average Error: 6.7 → 6.5
Time: 11.9s
Precision: binary64
Cost: 704
\[\frac{\frac{1}{x}}{y \cdot \left(1 + z \cdot z\right)}\]
↓
\[\frac{\frac{\frac{1}{x}}{1 + z \cdot z}}{y}\]
\frac{\frac{1}{x}}{y \cdot \left(1 + z \cdot z\right)}↓
\frac{\frac{\frac{1}{x}}{1 + z \cdot z}}{y}(FPCore (x y z) :precision binary64 (/ (/ 1.0 x) (* y (+ 1.0 (* z z)))))
↓
(FPCore (x y z) :precision binary64 (/ (/ (/ 1.0 x) (+ 1.0 (* z z))) y))
double code(double x, double y, double z) {
return (1.0 / x) / (y * (1.0 + (z * z)));
}
↓
double code(double x, double y, double z) {
return ((1.0 / x) / (1.0 + (z * z))) / y;
}
Try it out
Enter valid numbers for all inputs
Target
| Original | 6.7 |
|---|
| Target | 6.0 |
|---|
| Herbie | 6.5 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y \cdot \left(1 + z \cdot z\right) < -\infty:\\
\;\;\;\;\frac{\frac{1}{y}}{\left(1 + z \cdot z\right) \cdot x}\\
\mathbf{elif}\;y \cdot \left(1 + z \cdot z\right) < 8.680743250567252 \cdot 10^{+305}:\\
\;\;\;\;\frac{\frac{1}{x}}{\left(1 + z \cdot z\right) \cdot y}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{y}}{\left(1 + z \cdot z\right) \cdot x}\\
\end{array}\]
Alternatives
| Alternative 1 |
|---|
| Error | 7.2 |
|---|
| Cost | 39616 |
|---|
\[\frac{\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{x} \cdot \sqrt[3]{x}}}{y} \cdot \frac{\frac{\sqrt[3]{1}}{\sqrt[3]{x}}}{1 + z \cdot z}\]
| Alternative 2 |
|---|
| Error | 45.8 |
|---|
| Cost | 27328 |
|---|
\[\left(\sqrt{\frac{1}{y}} \cdot \sqrt{\frac{\frac{1}{x}}{1 + z \cdot z}}\right) \cdot \left(\sqrt{\frac{1}{y}} \cdot \sqrt{\frac{\frac{1}{x}}{1 + z \cdot z}}\right)\]
| Alternative 3 |
|---|
| Error | 35.7 |
|---|
| Cost | 26816 |
|---|
\[\frac{\frac{1}{x}}{\left(\sqrt{1 + z \cdot z} \cdot \sqrt{y}\right) \cdot \left(\sqrt{1 + z \cdot z} \cdot \sqrt{y}\right)}\]
| Alternative 4 |
|---|
| Error | 7.3 |
|---|
| Cost | 21440 |
|---|
\[\sqrt[3]{\frac{\frac{1}{x}}{y \cdot \left(1 + z \cdot z\right)}} \cdot \left(\sqrt[3]{\frac{\frac{1}{x}}{y \cdot \left(1 + z \cdot z\right)}} \cdot \sqrt[3]{\frac{\frac{1}{x}}{y \cdot \left(1 + z \cdot z\right)}}\right)\]
| Alternative 5 |
|---|
| Error | 7.3 |
|---|
| Cost | 20928 |
|---|
\[\frac{\frac{1}{x}}{\sqrt[3]{y \cdot \left(1 + z \cdot z\right)} \cdot \left(\sqrt[3]{y \cdot \left(1 + z \cdot z\right)} \cdot \sqrt[3]{y \cdot \left(1 + z \cdot z\right)}\right)}\]
| Alternative 6 |
|---|
| Error | 6.8 |
|---|
| Cost | 20672 |
|---|
\[\frac{\frac{1}{x}}{\sqrt[3]{1 + z \cdot z} \cdot \left(y \cdot \left(\sqrt[3]{1 + z \cdot z} \cdot \sqrt[3]{1 + z \cdot z}\right)\right)}\]
| Alternative 7 |
|---|
| Error | 7.2 |
|---|
| Cost | 20416 |
|---|
\[\frac{\sqrt[3]{\frac{1}{x}} \cdot \sqrt[3]{\frac{1}{x}}}{y} \cdot \frac{\sqrt[3]{\frac{1}{x}}}{1 + z \cdot z}\]
| Alternative 8 |
|---|
| Error | 7.2 |
|---|
| Cost | 20288 |
|---|
\[\frac{\frac{1}{\sqrt[3]{x} \cdot \sqrt[3]{x}}}{y} \cdot \frac{\frac{1}{\sqrt[3]{x}}}{1 + z \cdot z}\]
| Alternative 9 |
|---|
| Error | 7.1 |
|---|
| Cost | 20288 |
|---|
\[\frac{1}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{\frac{\frac{1}{x}}{1 + z \cdot z}}{\sqrt[3]{y}}\]
| Alternative 10 |
|---|
| Error | 7.3 |
|---|
| Cost | 20160 |
|---|
\[\frac{\frac{1}{x}}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \left(\left(1 + z \cdot z\right) \cdot \sqrt[3]{y}\right)}\]
| Alternative 11 |
|---|
| Error | 6.8 |
|---|
| Cost | 20160 |
|---|
\[\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\frac{y}{\frac{\frac{\sqrt[3]{1}}{x}}{1 + z \cdot z}}}\]
| Alternative 12 |
|---|
| Error | 6.5 |
|---|
| Cost | 20160 |
|---|
\[\frac{\frac{\sqrt[3]{1}}{x}}{1 + z \cdot z} \cdot \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{y}\]
| Alternative 13 |
|---|
| Error | 24.2 |
|---|
| Cost | 14272 |
|---|
\[\sqrt{\frac{\frac{1}{x}}{y \cdot \left(1 + z \cdot z\right)}} \cdot \sqrt{\frac{\frac{1}{x}}{y \cdot \left(1 + z \cdot z\right)}}\]
| Alternative 14 |
|---|
| Error | 35.7 |
|---|
| Cost | 14016 |
|---|
\[\frac{\frac{1}{x}}{\sqrt{y \cdot \left(1 + z \cdot z\right)} \cdot \sqrt{y \cdot \left(1 + z \cdot z\right)}}\]
| Alternative 15 |
|---|
| Error | 6.7 |
|---|
| Cost | 13888 |
|---|
\[\frac{\frac{1}{x}}{\sqrt{1 + z \cdot z} \cdot \left(y \cdot \sqrt{1 + z \cdot z}\right)}\]
| Alternative 16 |
|---|
| Error | 35.6 |
|---|
| Cost | 13760 |
|---|
\[\sqrt{\frac{1}{y}} \cdot \frac{\sqrt{\frac{1}{y}}}{x \cdot \left(1 + z \cdot z\right)}\]
| Alternative 17 |
|---|
| Error | 35.3 |
|---|
| Cost | 13760 |
|---|
\[\frac{\sqrt{\frac{1}{x}}}{\frac{y}{\frac{\sqrt{\frac{1}{x}}}{1 + z \cdot z}}}\]
| Alternative 18 |
|---|
| Error | 35.4 |
|---|
| Cost | 13760 |
|---|
\[\frac{\frac{1}{\sqrt{x}}}{y} \cdot \frac{\frac{1}{\sqrt{x}}}{1 + z \cdot z}\]
| Alternative 19 |
|---|
| Error | 35.3 |
|---|
| Cost | 13760 |
|---|
\[\frac{\sqrt{\frac{1}{x}}}{1 + z \cdot z} \cdot \frac{\sqrt{\frac{1}{x}}}{y}\]
| Alternative 20 |
|---|
| Error | 26.3 |
|---|
| Cost | 13696 |
|---|
\[\frac{1}{y} \cdot \sqrt[3]{\frac{1}{{\left(x \cdot \left(1 + z \cdot z\right)\right)}^{3}}}\]
| Alternative 21 |
|---|
| Error | 35.7 |
|---|
| Cost | 13632 |
|---|
\[\frac{\frac{1}{x}}{\sqrt{y} \cdot \left(\left(1 + z \cdot z\right) \cdot \sqrt{y}\right)}\]
| Alternative 22 |
|---|
| Error | 35.5 |
|---|
| Cost | 13632 |
|---|
\[\frac{\frac{1}{\sqrt{x}}}{\left(y \cdot \left(1 + z \cdot z\right)\right) \cdot \sqrt{x}}\]
| Alternative 23 |
|---|
| Error | 27.1 |
|---|
| Cost | 13568 |
|---|
\[\sqrt[3]{\frac{1}{{\left(y \cdot \left(x \cdot \left(1 + z \cdot z\right)\right)\right)}^{3}}}\]
| Alternative 24 |
|---|
| Error | 26.9 |
|---|
| Cost | 13568 |
|---|
\[\sqrt[3]{{\left(\frac{\frac{1}{x}}{y \cdot \left(1 + z \cdot z\right)}\right)}^{3}}\]
| Alternative 25 |
|---|
| Error | 25.8 |
|---|
| Cost | 13568 |
|---|
\[\frac{\frac{1}{x}}{\sqrt[3]{{\left(y \cdot \left(1 + z \cdot z\right)\right)}^{3}}}\]
| Alternative 26 |
|---|
| Error | 37.0 |
|---|
| Cost | 13504 |
|---|
\[\frac{\frac{1}{x}}{e^{\log \left(y \cdot \left(1 + z \cdot z\right)\right)}}\]
| Alternative 27 |
|---|
| Error | 29.7 |
|---|
| Cost | 7936 |
|---|
\[\frac{\frac{1}{x}}{\frac{y \cdot \left(1 + {z}^{6}\right)}{1 + \left(\left(z \cdot z\right) \cdot \left(z \cdot z\right) - z \cdot z\right)}}\]
| Alternative 28 |
|---|
| Error | 24.1 |
|---|
| Cost | 7424 |
|---|
\[\frac{\frac{1}{x}}{\frac{y \cdot \left(1 - {z}^{4}\right)}{1 - z \cdot z}}\]
| Alternative 29 |
|---|
| Error | 38.7 |
|---|
| Cost | 7296 |
|---|
\[\frac{\frac{1}{x}}{\left(y \cdot \sqrt{1 + z \cdot z}\right) \cdot \left(-z\right)}\]
| Alternative 30 |
|---|
| Error | 6.7 |
|---|
| Cost | 832 |
|---|
\[\frac{1}{x} \cdot \frac{1}{y \cdot \left(1 + z \cdot z\right)}\]
| Alternative 31 |
|---|
| Error | 6.5 |
|---|
| Cost | 832 |
|---|
\[\frac{1}{y} \cdot \frac{\frac{1}{x}}{1 + z \cdot z}\]
| Alternative 32 |
|---|
| Error | 7.1 |
|---|
| Cost | 704 |
|---|
\[\frac{\frac{\frac{1}{y}}{x}}{1 + z \cdot z}\]
| Alternative 33 |
|---|
| Error | 6.7 |
|---|
| Cost | 704 |
|---|
\[\frac{\frac{1}{x}}{y \cdot \left(1 + z \cdot z\right)}\]
| Alternative 34 |
|---|
| Error | 6.7 |
|---|
| Cost | 704 |
|---|
\[\frac{\frac{1}{x}}{y + y \cdot \left(z \cdot z\right)}\]
| Alternative 35 |
|---|
| Error | 6.9 |
|---|
| Cost | 704 |
|---|
\[\frac{1}{x \cdot \left(y \cdot \left(1 + z \cdot z\right)\right)}\]
| Alternative 36 |
|---|
| Error | 7.1 |
|---|
| Cost | 704 |
|---|
\[\frac{\frac{\frac{1}{x}}{y}}{1 + z \cdot z}\]
| Alternative 37 |
|---|
| Error | 6.7 |
|---|
| Cost | 704 |
|---|
\[\frac{\frac{1}{y \cdot \left(1 + z \cdot z\right)}}{x}\]
| Alternative 38 |
|---|
| Error | 6.8 |
|---|
| Cost | 704 |
|---|
\[\frac{1}{y \cdot \left(x \cdot \left(1 + z \cdot z\right)\right)}\]
| Alternative 39 |
|---|
| Error | 34.8 |
|---|
| Cost | 576 |
|---|
\[\frac{1}{y \cdot \left(x \cdot \left(z \cdot z\right)\right)}\]
| Alternative 40 |
|---|
| Error | 34.9 |
|---|
| Cost | 576 |
|---|
\[\frac{\frac{1}{x}}{y \cdot \left(z \cdot z\right)}\]
| Alternative 41 |
|---|
| Error | 33.9 |
|---|
| Cost | 576 |
|---|
\[\frac{1}{\left(z \cdot z\right) \cdot \left(y \cdot x\right)}\]
| Alternative 42 |
|---|
| Error | 29.8 |
|---|
| Cost | 448 |
|---|
\[\frac{1}{y} \cdot \frac{1}{x}\]
| Alternative 43 |
|---|
| Error | 29.7 |
|---|
| Cost | 320 |
|---|
\[\frac{\frac{1}{x}}{y}\]
| Alternative 44 |
|---|
| Error | 29.7 |
|---|
| Cost | 320 |
|---|
\[\frac{1}{y \cdot x}\]
| Alternative 45 |
|---|
| Error | 29.7 |
|---|
| Cost | 320 |
|---|
\[\frac{\frac{1}{y}}{x}\]
| Alternative 46 |
|---|
| Error | 61.7 |
|---|
| Cost | 64 |
|---|
\[1\]
| Alternative 47 |
|---|
| Error | 40.5 |
|---|
| Cost | 64 |
|---|
\[0\]
| Alternative 48 |
|---|
| Error | 61.8 |
|---|
| Cost | 64 |
|---|
\[-1\]
Error

Derivation
Initial program 6.7
\[\frac{\frac{1}{x}}{y \cdot \left(1 + z \cdot z\right)}\]
- Using strategy
rm Applied *-un-lft-identity_binary64_117266.7
\[\leadsto \frac{\frac{1}{\color{blue}{1 \cdot x}}}{y \cdot \left(1 + z \cdot z\right)}\]
Applied add-sqr-sqrt_binary64_117486.7
\[\leadsto \frac{\frac{\color{blue}{\sqrt{1} \cdot \sqrt{1}}}{1 \cdot x}}{y \cdot \left(1 + z \cdot z\right)}\]
Applied times-frac_binary64_117326.7
\[\leadsto \frac{\color{blue}{\frac{\sqrt{1}}{1} \cdot \frac{\sqrt{1}}{x}}}{y \cdot \left(1 + z \cdot z\right)}\]
Applied times-frac_binary64_117326.5
\[\leadsto \color{blue}{\frac{\frac{\sqrt{1}}{1}}{y} \cdot \frac{\frac{\sqrt{1}}{x}}{1 + z \cdot z}}\]
Simplified6.5
\[\leadsto \color{blue}{\frac{1}{y}} \cdot \frac{\frac{\sqrt{1}}{x}}{1 + z \cdot z}\]
Simplified6.5
\[\leadsto \frac{1}{y} \cdot \color{blue}{\frac{\frac{1}{x}}{1 + z \cdot z}}\]
- Using strategy
rm Applied associate-*l/_binary64_116696.5
\[\leadsto \color{blue}{\frac{1 \cdot \frac{\frac{1}{x}}{1 + z \cdot z}}{y}}\]
Simplified6.5
\[\leadsto \frac{\color{blue}{\frac{\frac{1}{x}}{1 + z \cdot z}}}{y}\]
Simplified6.5
\[\leadsto \color{blue}{\frac{\frac{\frac{1}{x}}{1 + z \cdot z}}{y}}\]
Final simplification6.5
\[\leadsto \frac{\frac{\frac{1}{x}}{1 + z \cdot z}}{y}\]
Reproduce
herbie shell --seed 2021042
(FPCore (x y z)
:name "Statistics.Distribution.CauchyLorentz:$cdensity from math-functions-0.1.5.2"
:precision binary64
:herbie-target
(if (< (* y (+ 1.0 (* z z))) (- INFINITY)) (/ (/ 1.0 y) (* (+ 1.0 (* z z)) x)) (if (< (* y (+ 1.0 (* z z))) 8.680743250567252e+305) (/ (/ 1.0 x) (* (+ 1.0 (* z z)) y)) (/ (/ 1.0 y) (* (+ 1.0 (* z z)) x))))
(/ (/ 1.0 x) (* y (+ 1.0 (* z z)))))