1 - \sqrt{0.5 \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)}\frac{\frac{{1}^{6} - \sqrt{{\left(0.5 \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)\right)}^{3}} \cdot \sqrt{{\left(0.5 \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)\right)}^{3}}}{{1}^{3} \cdot 1 + \left(0.5 \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)\right) \cdot \left(0.5 \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right) + 1 \cdot 1\right)}}{1 + \sqrt{0.5 \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)}}double f(double x) {
double r221878 = 1.0;
double r221879 = 0.5;
double r221880 = x;
double r221881 = hypot(r221878, r221880);
double r221882 = r221878 / r221881;
double r221883 = r221878 + r221882;
double r221884 = r221879 * r221883;
double r221885 = sqrt(r221884);
double r221886 = r221878 - r221885;
return r221886;
}
double f(double x) {
double r221887 = 1.0;
double r221888 = 6.0;
double r221889 = pow(r221887, r221888);
double r221890 = 0.5;
double r221891 = x;
double r221892 = hypot(r221887, r221891);
double r221893 = r221887 / r221892;
double r221894 = r221887 + r221893;
double r221895 = r221890 * r221894;
double r221896 = 3.0;
double r221897 = pow(r221895, r221896);
double r221898 = sqrt(r221897);
double r221899 = r221898 * r221898;
double r221900 = r221889 - r221899;
double r221901 = pow(r221887, r221896);
double r221902 = r221901 * r221887;
double r221903 = r221887 * r221887;
double r221904 = r221895 + r221903;
double r221905 = r221895 * r221904;
double r221906 = r221902 + r221905;
double r221907 = r221900 / r221906;
double r221908 = sqrt(r221895);
double r221909 = r221887 + r221908;
double r221910 = r221907 / r221909;
return r221910;
}



Bits error versus x
Results
Initial program 15.7
rmApplied flip--15.7
Simplified15.2
rmApplied flip3--15.2
Simplified15.2
Simplified15.2
rmApplied add-sqr-sqrt15.2
Final simplification15.2
herbie shell --seed 2019209
(FPCore (x)
:name "Given's Rotation SVD example, simplified"
:precision binary64
(- 1 (sqrt (* 0.5 (+ 1 (/ 1 (hypot 1 x)))))))