x \cdot \left(1.0 - y \cdot z\right)
\begin{array}{l}
\mathbf{if}\;y \cdot z \le -1.745382629156709 \cdot 10^{+79}:\\
\;\;\;\;x \cdot 1.0 + \left(-z \cdot \left(x \cdot y\right)\right)\\
\mathbf{elif}\;y \cdot z \le 1.0054811471022471 \cdot 10^{+181}:\\
\;\;\;\;\sqrt[3]{y \cdot \left(-z\right)} \cdot \left(\left(\sqrt[3]{y \cdot \left(-z\right)} \cdot \sqrt[3]{y \cdot \left(-z\right)}\right) \cdot x\right) + x \cdot 1.0\\
\mathbf{else}:\\
\;\;\;\;x \cdot 1.0 + \left(-y \cdot \left(x \cdot z\right)\right)\\
\end{array}double f(double x, double y, double z) {
double r6608701 = x;
double r6608702 = 1.0;
double r6608703 = y;
double r6608704 = z;
double r6608705 = r6608703 * r6608704;
double r6608706 = r6608702 - r6608705;
double r6608707 = r6608701 * r6608706;
return r6608707;
}
double f(double x, double y, double z) {
double r6608708 = y;
double r6608709 = z;
double r6608710 = r6608708 * r6608709;
double r6608711 = -1.745382629156709e+79;
bool r6608712 = r6608710 <= r6608711;
double r6608713 = x;
double r6608714 = 1.0;
double r6608715 = r6608713 * r6608714;
double r6608716 = r6608713 * r6608708;
double r6608717 = r6608709 * r6608716;
double r6608718 = -r6608717;
double r6608719 = r6608715 + r6608718;
double r6608720 = 1.0054811471022471e+181;
bool r6608721 = r6608710 <= r6608720;
double r6608722 = -r6608709;
double r6608723 = r6608708 * r6608722;
double r6608724 = cbrt(r6608723);
double r6608725 = r6608724 * r6608724;
double r6608726 = r6608725 * r6608713;
double r6608727 = r6608724 * r6608726;
double r6608728 = r6608727 + r6608715;
double r6608729 = r6608713 * r6608709;
double r6608730 = r6608708 * r6608729;
double r6608731 = -r6608730;
double r6608732 = r6608715 + r6608731;
double r6608733 = r6608721 ? r6608728 : r6608732;
double r6608734 = r6608712 ? r6608719 : r6608733;
return r6608734;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if (* y z) < -1.745382629156709e+79Initial program 12.3
rmApplied sub-neg12.3
Applied distribute-lft-in12.3
rmApplied *-commutative12.3
Applied distribute-lft-neg-in12.3
Applied associate-*r*4.5
rmApplied *-commutative4.5
Applied associate-*l*4.5
if -1.745382629156709e+79 < (* y z) < 1.0054811471022471e+181Initial program 0.1
rmApplied sub-neg0.1
Applied distribute-lft-in0.1
rmApplied add-cube-cbrt0.3
Applied associate-*r*0.3
if 1.0054811471022471e+181 < (* y z) Initial program 22.4
rmApplied sub-neg22.4
Applied distribute-lft-in22.4
rmApplied *-commutative22.4
Applied distribute-lft-neg-in22.4
Applied associate-*r*1.7
Final simplification1.0
herbie shell --seed 2019158
(FPCore (x y z)
:name "Data.Colour.RGBSpace.HSV:hsv from colour-2.3.3, I"
(* x (- 1.0 (* y z))))