\frac{\frac{1}{x}}{y \cdot \left(1 + z \cdot z\right)}\frac{\frac{\sqrt{1}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt{\sqrt{1 + z \cdot z}}} \cdot \frac{\frac{\frac{\frac{\sqrt{1}}{\sqrt[3]{y}}}{\sqrt{\sqrt{1 + z \cdot z}}}}{x}}{\sqrt{1 + z \cdot z}}double f(double x, double y, double z) {
double r208229 = 1.0;
double r208230 = x;
double r208231 = r208229 / r208230;
double r208232 = y;
double r208233 = z;
double r208234 = r208233 * r208233;
double r208235 = r208229 + r208234;
double r208236 = r208232 * r208235;
double r208237 = r208231 / r208236;
return r208237;
}
double f(double x, double y, double z) {
double r208238 = 1.0;
double r208239 = sqrt(r208238);
double r208240 = y;
double r208241 = cbrt(r208240);
double r208242 = r208241 * r208241;
double r208243 = r208239 / r208242;
double r208244 = z;
double r208245 = r208244 * r208244;
double r208246 = r208238 + r208245;
double r208247 = sqrt(r208246);
double r208248 = sqrt(r208247);
double r208249 = r208243 / r208248;
double r208250 = r208239 / r208241;
double r208251 = r208250 / r208248;
double r208252 = x;
double r208253 = r208251 / r208252;
double r208254 = r208253 / r208247;
double r208255 = r208249 * r208254;
return r208255;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 6.6 |
|---|---|
| Target | 6.0 |
| Herbie | 6.2 |
Initial program 6.6
rmApplied add-sqr-sqrt6.6
Applied associate-*r*6.6
rmApplied div-inv6.6
Applied times-frac6.4
rmApplied associate-*r/6.3
Simplified6.2
rmApplied *-un-lft-identity6.2
Applied *-un-lft-identity6.2
Applied add-sqr-sqrt6.2
Applied sqrt-prod6.2
Applied add-cube-cbrt6.8
Applied add-sqr-sqrt6.8
Applied times-frac6.8
Applied times-frac6.8
Applied times-frac6.4
Applied times-frac6.2
Simplified6.2
Final simplification6.2
herbie shell --seed 2019304
(FPCore (x y z)
:name "Statistics.Distribution.CauchyLorentz:$cdensity from math-functions-0.1.5.2"
:precision binary64
:herbie-target
(if (< (* y (+ 1 (* z z))) -inf.bf) (/ (/ 1 y) (* (+ 1 (* z z)) x)) (if (< (* y (+ 1 (* z z))) 8.68074325056725162e305) (/ (/ 1 x) (* (+ 1 (* z z)) y)) (/ (/ 1 y) (* (+ 1 (* z z)) x))))
(/ (/ 1 x) (* y (+ 1 (* z z)))))