1 - \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)}\frac{\sqrt[3]{1 - {\left(\sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)}}\right)}^{3}} \cdot \left(\sqrt[3]{1 - {\left(\sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)}}\right)}^{3}} \cdot \sqrt[3]{1 - {\left(\sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)}}\right)}^{3}}\right)}{\left(\sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)}} \cdot \sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)}} + \sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\mathsf{hypot}\left(1, x\right)}}\right) + 1}double f(double x) {
double r45813225 = 1.0;
double r45813226 = 0.5;
double r45813227 = x;
double r45813228 = hypot(r45813225, r45813227);
double r45813229 = r45813225 / r45813228;
double r45813230 = r45813225 + r45813229;
double r45813231 = r45813226 * r45813230;
double r45813232 = sqrt(r45813231);
double r45813233 = r45813225 - r45813232;
return r45813233;
}
double f(double x) {
double r45813234 = 1.0;
double r45813235 = 0.5;
double r45813236 = x;
double r45813237 = hypot(r45813234, r45813236);
double r45813238 = r45813235 / r45813237;
double r45813239 = r45813235 + r45813238;
double r45813240 = sqrt(r45813239);
double r45813241 = 3.0;
double r45813242 = pow(r45813240, r45813241);
double r45813243 = r45813234 - r45813242;
double r45813244 = cbrt(r45813243);
double r45813245 = r45813244 * r45813244;
double r45813246 = r45813244 * r45813245;
double r45813247 = r45813240 * r45813240;
double r45813248 = r45813247 + r45813240;
double r45813249 = r45813248 + r45813234;
double r45813250 = r45813246 / r45813249;
return r45813250;
}



Bits error versus x
Results
Initial program 15.2
Simplified15.2
rmApplied flip3--15.4
rmApplied add-cube-cbrt14.7
Final simplification14.7
herbie shell --seed 2019121
(FPCore (x)
:name "Given's Rotation SVD example, simplified"
(- 1 (sqrt (* 1/2 (+ 1 (/ 1 (hypot 1 x)))))))