1 - \sqrt{0.5 \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)}\frac{1 \cdot 1 - 0.5 \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)}{{1}^{3} + {\left(\sqrt{0.5 \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)}\right)}^{3}} \cdot \left(1 \cdot 1 + \left(\sqrt{0.5 \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)} \cdot \sqrt{0.5 \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)} - 1 \cdot \sqrt{0.5 \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)}\right)\right)double f(double x) {
double r154210 = 1.0;
double r154211 = 0.5;
double r154212 = x;
double r154213 = hypot(r154210, r154212);
double r154214 = r154210 / r154213;
double r154215 = r154210 + r154214;
double r154216 = r154211 * r154215;
double r154217 = sqrt(r154216);
double r154218 = r154210 - r154217;
return r154218;
}
double f(double x) {
double r154219 = 1.0;
double r154220 = r154219 * r154219;
double r154221 = 0.5;
double r154222 = x;
double r154223 = hypot(r154219, r154222);
double r154224 = r154219 / r154223;
double r154225 = r154219 + r154224;
double r154226 = r154221 * r154225;
double r154227 = r154220 - r154226;
double r154228 = 3.0;
double r154229 = pow(r154219, r154228);
double r154230 = sqrt(r154226);
double r154231 = pow(r154230, r154228);
double r154232 = r154229 + r154231;
double r154233 = r154227 / r154232;
double r154234 = r154230 * r154230;
double r154235 = r154219 * r154230;
double r154236 = r154234 - r154235;
double r154237 = r154220 + r154236;
double r154238 = r154233 * r154237;
return r154238;
}



Bits error versus x
Results
Initial program 15.5
rmApplied flip--15.5
Simplified15.0
rmApplied flip3-+15.5
Applied associate-/r/15.0
Final simplification15.0
herbie shell --seed 2019235
(FPCore (x)
:name "Given's Rotation SVD example, simplified"
:precision binary64
(- 1 (sqrt (* 0.5 (+ 1 (/ 1 (hypot 1 x)))))))